Author: fireball
Date: Fri Jan 22 23:40:03 2010
New Revision: 45207
URL:
http://svn.reactos.org/svn/reactos?rev=45207&view=rev
Log:
- Sync up to Wine-1.1.37.
Modified:
branches/arwinss/reactos/dll/win32/gdi32/ (props changed)
branches/arwinss/reactos/dll/win32/gdi32/freetype.c
branches/arwinss/reactos/dll/win32/user32/ (props changed)
branches/arwinss/reactos/dll/win32/user32/defwnd.c
branches/arwinss/reactos/dll/win32/user32/input.c
branches/arwinss/reactos/dll/win32/user32/menu.c
branches/arwinss/reactos/dll/win32/user32/misc.c
branches/arwinss/reactos/dll/win32/user32/scroll.c
branches/arwinss/reactos/dll/win32/winex11.drv/ (props changed)
branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c
branches/arwinss/reactos/dll/win32/winex11.drv/systray.c
branches/arwinss/reactos/subsystems/win32/win32k/wine/ (props changed)
branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c
Propchange: branches/arwinss/reactos/dll/win32/gdi32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 22 23:40:03 2010
@@ -1,3 +1,3 @@
/branches/ros-amd64-bringup/reactos/dll/win32/gdi32:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080
/trunk/reactos/dll/win32/gdi32:42000-44999,45097-45099
-/vendor/wine/dlls/gdi32/current:43136,43149,43398,43708,44151,44715,45044
+/vendor/wine/dlls/gdi32/current:43136,43149,43398,43708,44151,44715,45044,45206
Modified: branches/arwinss/reactos/dll/win32/gdi32/freetype.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/freetype.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/freetype.c [iso-8859-1] Fri Jan 22 23:40:03
2010
@@ -2246,7 +2246,7 @@
BOOL WineEngRemoveFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
{
GDI_CheckNotLock();
- FIXME(":stub\n");
+ FIXME("(%s, %x, %p): stub\n", debugstr_w(file), flags, pdv);
return TRUE;
}
@@ -6761,25 +6761,25 @@
INT WineEngAddFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
{
- FIXME(":stub\n");
+ FIXME("(%s, %x, %p): stub\n", debugstr_w(file), flags, pdv);
return 1;
}
INT WineEngRemoveFontResourceEx(LPCWSTR file, DWORD flags, PVOID pdv)
{
- FIXME(":stub\n");
+ FIXME("(%s, %x, %p): stub\n", debugstr_w(file), flags, pdv);
return TRUE;
}
HANDLE WineEngAddFontMemResourceEx(PVOID pbFont, DWORD cbFont, PVOID pdv, DWORD
*pcFonts)
{
- FIXME(":stub\n");
+ FIXME("(%p, %u, %p, %p): stub\n", pbFont, cbFont, pdv, pcFonts);
return NULL;
}
UINT WineEngGetTextCharsetInfo(GdiFont *font, LPFONTSIGNATURE fs, DWORD flags)
{
- FIXME(":stub\n");
+ FIXME("(%p, %p, %u): stub\n", font, fs, flags);
return DEFAULT_CHARSET;
}
Propchange: branches/arwinss/reactos/dll/win32/user32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 22 23:40:03 2010
@@ -1,3 +1,3 @@
/branches/ros-amd64-bringup/reactos/dll/win32/user32:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080
/trunk/reactos/dll/win32/user32:42000-44999,45097-45099
-/vendor/wine/dlls/user32/current:43136,43149,43398,43708,44151,44715,45044
+/vendor/wine/dlls/user32/current:43136,43149,43398,43708,44151,44715,45044,45206
Modified: branches/arwinss/reactos/dll/win32/user32/defwnd.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/defwnd.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/defwnd.c [iso-8859-1] Fri Jan 22 23:40:03
2010
@@ -561,7 +561,11 @@
}
}
else if( wParam == VK_F10 )
+ {
+ if (GetKeyState(VK_SHIFT) & 0x8000)
+ SendMessageW( hwnd, WM_CONTEXTMENU, (WPARAM)hwnd, MAKELPARAM(-1, -1) );
iF10Key = 1;
+ }
else if( wParam == VK_ESCAPE && (GetKeyState(VK_SHIFT) & 0x8000))
SendMessageW( hwnd, WM_SYSCOMMAND, SC_KEYMENU, ' ' );
break;
Modified: branches/arwinss/reactos/dll/win32/user32/input.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/input.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/input.c [iso-8859-1] Fri Jan 22 23:40:03
2010
@@ -101,12 +101,15 @@
}
SERVER_END_REQ;
- USER_Driver->pSetCapture( hwnd, gui_flags );
-
- if (previous && previous != hwnd)
- SendMessageW( previous, WM_CAPTURECHANGED, 0, (LPARAM)hwnd );
-
- if (prev_ret) *prev_ret = previous;
+ if (ret)
+ {
+ USER_Driver->pSetCapture( hwnd, gui_flags );
+
+ if (previous && previous != hwnd)
+ SendMessageW( previous, WM_CAPTURECHANGED, 0, (LPARAM)hwnd );
+
+ if (prev_ret) *prev_ret = previous;
+ }
return ret;
}
@@ -226,7 +229,7 @@
*/
HWND WINAPI DECLSPEC_HOTPATCH SetCapture( HWND hwnd )
{
- HWND previous;
+ HWND previous = 0;
set_capture_window( hwnd, 0, &previous );
return previous;
@@ -241,7 +244,7 @@
BOOL ret = set_capture_window( 0, 0, NULL );
/* Somebody may have missed some mouse movements */
- mouse_event( MOUSEEVENTF_MOVE, 0, 0, 0, 0 );
+ if (ret) mouse_event( MOUSEEVENTF_MOVE, 0, 0, 0, 0 );
return ret;
}
Modified: branches/arwinss/reactos/dll/win32/user32/menu.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/menu.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/menu.c [iso-8859-1] Fri Jan 22 23:40:03
2010
@@ -3120,6 +3120,7 @@
switch(msg.wParam)
{
case VK_MENU:
+ case VK_F10:
fEndMenu = TRUE;
break;
Modified: branches/arwinss/reactos/dll/win32/user32/misc.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/misc.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/misc.c [iso-8859-1] Fri Jan 22 23:40:03
2010
@@ -521,8 +521,8 @@
*/
HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE hnd, LPVOID notifyfilter, DWORD
flags)
{
- FIXME("(hwnd=%p, filter=%p,flags=0x%08x),\n"
- "\treturns a fake device notification handle!\n",
hnd,notifyfilter,flags );
+ FIXME("(hwnd=%p, filter=%p,flags=0x%08x) returns a fake device notification
handle!\n",
+ hnd,notifyfilter,flags );
return (HDEVNOTIFY) 0xcafecafe;
}
@@ -551,8 +551,8 @@
*/
HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE hRecepient, LPVOID
pNotificationFilter, DWORD dwFlags)
{
- FIXME("(hwnd=%p, filter=%p,flags=0x%08x),\n"
- "\treturns a fake device notification handle!\n",
hRecepient,pNotificationFilter,dwFlags );
+ FIXME("(hwnd=%p, filter=%p,flags=0x%08x) returns a fake device notification
handle!\n",
+ hRecepient,pNotificationFilter,dwFlags );
return (HDEVNOTIFY) 0xcafeaffe;
}
Modified: branches/arwinss/reactos/dll/win32/user32/scroll.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/scroll.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/scroll.c [iso-8859-1] Fri Jan 22 23:40:03
2010
@@ -317,6 +317,7 @@
{
INT thumbSize;
INT pixels = vertical ? rect->bottom-rect->top : rect->right-rect->left;
+ INT range;
if ((pixels -= 2*(GetSystemMetrics(SM_CXVSCROLL) - SCROLL_ARROW_THUMB_OVERLAP)) <=
0)
return infoPtr->minVal;
@@ -333,9 +334,12 @@
pos = max( 0, pos - (GetSystemMetrics(SM_CXVSCROLL) - SCROLL_ARROW_THUMB_OVERLAP) );
if (pos > pixels) pos = pixels;
- if (!infoPtr->page) pos *= infoPtr->maxVal - infoPtr->minVal;
- else pos *= infoPtr->maxVal - infoPtr->minVal - infoPtr->page + 1;
- return infoPtr->minVal + ((pos + pixels / 2) / pixels);
+ if (!infoPtr->page)
+ range = infoPtr->maxVal - infoPtr->minVal;
+ else
+ range = infoPtr->maxVal - infoPtr->minVal - infoPtr->page + 1;
+
+ return infoPtr->minVal + MulDiv(pos, range, pixels);
}
/***********************************************************************
Propchange: branches/arwinss/reactos/dll/win32/winex11.drv/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 22 23:40:03 2010
@@ -1,3 +1,3 @@
/branches/ros-amd64-bringup/reactos/dll/win32/winex11.drv:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080
/trunk/reactos/dll/win32/winex11.drv:42000-44999,45097-45099
-/vendor/wine/dlls/winex11.drv/current:43149,43398,43708,44151,44715,45044
+/vendor/wine/dlls/winex11.drv/current:43149,43398,43708,44151,44715,45044,45206
Modified: branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c [iso-8859-1] Fri Jan 22
23:40:03 2010
@@ -1141,6 +1141,11 @@
* depending on the NumLock state */
return nonchar_key_vkey[keysym & 0xFF];
+ /* Pressing the Pause/Break key alone produces VK_PAUSE vkey, while
+ * pressing Ctrl+Pause/Break produces VK_CANCEL. */
+ if ((e->state & ControlMask) && (keysym == XK_Break))
+ return VK_CANCEL;
+
TRACE_(key)("e->keycode = %x\n", e->keycode);
return keyc2vkey[e->keycode];
Modified: branches/arwinss/reactos/dll/win32/winex11.drv/systray.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winex11.drv/systray.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winex11.drv/systray.c [iso-8859-1] Fri Jan 22
23:40:03 2010
@@ -344,7 +344,7 @@
if (icon->window)
{
struct x11drv_win_data *data = X11DRV_get_win_data( icon->window );
- if (data) XClearArea( gdi_display, data->client_window, 0, 0, 0, 0, True
);
+ if (data) XClearArea( thread_display(), data->client_window, 0, 0, 0, 0,
True );
}
}
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/wine/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 22 23:40:03 2010
@@ -1,3 +1,3 @@
/branches/ros-amd64-bringup/reactos/subsystems/win32/win32k/wine:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080
/trunk/reactos/subsystems/win32/win32k/wine:42000-43126,43669-44999,45097-45099
-/vendor/wine/server/current:43708,44715,45044
+/vendor/wine/server/current:43708,44715,45044,45206
Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/wine/queue.c [iso-8859-1] Fri Jan 22
23:40:03 2010
@@ -2285,6 +2285,12 @@
{
struct thread_input *input = queue->input;
+ /* if in menu mode, reject all requests to change focus, except if the menu bit
is set */
+ if (input->menu_owner && !(req->flags & CAPTURE_MENU))
+ {
+ set_error(STATUS_ACCESS_DENIED);
+ return;
+ }
reply->previous = input->capture;
input->capture = get_user_full_handle( req->handle );
input->menu_owner = (req->flags & CAPTURE_MENU) ? input->capture :
0;