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/user32... ============================================================================== --- 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/user32... ============================================================================== --- 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/user32... ============================================================================== --- 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/user32... ============================================================================== --- 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/user32... ============================================================================== --- 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/winex1... ============================================================================== --- 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/winex1... ============================================================================== --- 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/win32... ============================================================================== --- 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;