Author: fireball
Date: Sun Mar 21 21:53:56 2010
New Revision: 46322
URL:
http://svn.reactos.org/svn/reactos?rev=46322&view=rev
Log:
- Sync up to Wine-1.1.41.
Modified:
branches/arwinss/reactos/dll/win32/gdi32/ (props changed)
branches/arwinss/reactos/dll/win32/gdi32/bitmap.c
branches/arwinss/reactos/dll/win32/user32/ (props changed)
branches/arwinss/reactos/dll/win32/user32/Makefile.in
branches/arwinss/reactos/dll/win32/user32/cursoricon.c
branches/arwinss/reactos/dll/win32/user32/input.c
branches/arwinss/reactos/dll/win32/winex11.drv/ (props changed)
branches/arwinss/reactos/dll/win32/winex11.drv/clipboard.c
branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c
branches/arwinss/reactos/dll/win32/winex11.drv/window.c
branches/arwinss/reactos/subsystems/win32/win32k/wine/ (props changed)
Propchange: branches/arwinss/reactos/dll/win32/gdi32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Mar 21 21:53:56 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,45011,45097-45099,45319,45418-45419,45535-45539,45687-45688
-/vendor/wine/dlls/gdi32/current:43136,43149,43398,43708,44151,44715,45044,45206,45455,45646,45910
+/vendor/wine/dlls/gdi32/current:43136,43149,43398,43708,44151,44715,45044,45206,45455,45646,45910,46314
Modified: branches/arwinss/reactos/dll/win32/gdi32/bitmap.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
==============================================================================
--- branches/arwinss/reactos/dll/win32/gdi32/bitmap.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/gdi32/bitmap.c [iso-8859-1] Sun Mar 21 21:53:56
2010
@@ -436,11 +436,13 @@
LONG count, /* [in] Number of bytes in bitmap array */
LPCVOID bits) /* [in] Address of array with bitmap bits */
{
- BITMAPOBJ *bmp = GDI_GetObjPtr( hbitmap, OBJ_BITMAP );
+ BITMAPOBJ *bmp;
LONG height, ret;
- if ((!bmp) || (!bits))
- return 0;
+ if (!bits) return 0;
+
+ bmp = GDI_GetObjPtr( hbitmap, OBJ_BITMAP );
+ if (!bmp) return 0;
if (count < 0) {
WARN("(%d): Negative number of bytes passed???\n", count );
Propchange: branches/arwinss/reactos/dll/win32/user32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Mar 21 21:53:56 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,45011,45097-45099,45319,45418-45419,45535-45539,45687-45688
-/vendor/wine/dlls/user32/current:43136,43149,43398,43708,44151,44715,45044,45206,45455,45646,45910
+/vendor/wine/dlls/user32/current:43136,43149,43398,43708,44151,44715,45044,45206,45455,45646,45910,46314
Modified: branches/arwinss/reactos/dll/win32/user32/Makefile.in
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/Makefile.in [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/Makefile.in [iso-8859-1] Sun Mar 21 21:53:56
2010
@@ -91,5 +91,3 @@
EXTRASUBDIRS = resources
@MAKE_DLL_RULES@
-
-@DEPENDENCIES@ # everything below this line is overwritten by make depend
Modified: branches/arwinss/reactos/dll/win32/user32/cursoricon.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
==============================================================================
--- branches/arwinss/reactos/dll/win32/user32/cursoricon.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/user32/cursoricon.c [iso-8859-1] Sun Mar 21
21:53:56 2010
@@ -765,6 +765,7 @@
int sizeAnd, sizeXor;
HBITMAP hAndBits = 0, hXorBits = 0; /* error condition for later */
BITMAP bmpXor, bmpAnd;
+ BOOL do_stretch;
INT size;
BITMAPINFO *pSrcInfo, *pDestInfo;
@@ -788,10 +789,11 @@
if (!width) width = bmi->bmiHeader.biWidth;
if (!height) height = bmi->bmiHeader.biHeight/2;
+ do_stretch = (bmi->bmiHeader.biHeight/2 != height) ||
+ (bmi->bmiHeader.biWidth != width);
/* Scale the hotspot */
- if (((bmi->bmiHeader.biHeight/2 != height) || (bmi->bmiHeader.biWidth !=
width)) &&
- hotspot.x != ICON_HOTSPOT && hotspot.y != ICON_HOTSPOT)
+ if (do_stretch && hotspot.x != ICON_HOTSPOT && hotspot.y !=
ICON_HOTSPOT)
{
hotspot.x = (hotspot.x * width) / bmi->bmiHeader.biWidth;
hotspot.y = (hotspot.y * height) / (bmi->bmiHeader.biHeight / 2);
@@ -842,15 +844,29 @@
}
else
{
- hXorBits = CreateCompatibleBitmap(screen_dc, width, height);
-
- if(hXorBits)
+ if (do_stretch)
{
- if(!stretch_blt_icon(hXorBits, pDestInfo, pSrcInfo, (char*)bmi +
size))
+ hXorBits = CreateCompatibleBitmap(screen_dc, width, height);
+ if (hXorBits)
{
- DeleteObject(hXorBits);
- hXorBits = 0;
+ if (!stretch_blt_icon(hXorBits, pDestInfo, pSrcInfo, (char*)bmi +
size))
+ {
+ DeleteObject(hXorBits);
+ hXorBits = 0;
+ }
}
+ }
+ else
+ {
+ if (is_dib_monochrome(bmi))
+ {
+ hXorBits = CreateBitmap(width, height, 1, 1, NULL);
+ SetDIBits(screen_dc, hXorBits, 0, height,
+ (char *)bmi + size, pSrcInfo, DIB_RGB_COLORS);
+ }
+ else
+ hXorBits = CreateDIBitmap(screen_dc,
&pSrcInfo->bmiHeader,
+ CBM_INIT, (char *)bmi + size, pSrcInfo,
DIB_RGB_COLORS);
}
}
@@ -879,12 +895,21 @@
}
/* Create the AND bitmap */
- hAndBits = CreateBitmap(width, height, 1, 1, NULL);
-
- if(!stretch_blt_icon(hAndBits, pDestInfo, pSrcInfo, xbits))
+ if (do_stretch)
{
- DeleteObject(hAndBits);
- hAndBits = 0;
+ hAndBits = CreateBitmap(width, height, 1, 1, NULL);
+
+ if (!stretch_blt_icon(hAndBits, pDestInfo, pSrcInfo, xbits))
+ {
+ DeleteObject(hAndBits);
+ hAndBits = 0;
+ }
+ }
+ else
+ {
+ hAndBits = CreateBitmap(width, height, 1, 1, NULL);
+ SetDIBits(screen_dc, hAndBits, 0, height,
+ xbits, pSrcInfo, DIB_RGB_COLORS);
}
if( !hAndBits )
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] Sun Mar 21 21:53:56
2010
@@ -208,8 +208,8 @@
BOOL WINAPI GetCursorInfo( PCURSORINFO pci )
{
if (!pci) return 0;
- if (get_user_thread_info()->cursor_count >= 0) pci->flags = CURSOR_SHOWING;
- else pci->flags = 0;
+ pci->hCursor = LoadCursorW( 0, (LPCWSTR)IDC_ARROW );
+ pci->flags = CURSOR_SHOWING;
GetCursorPos(&pci->ptScreenPos);
return 1;
}
Propchange: branches/arwinss/reactos/dll/win32/winex11.drv/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Mar 21 21:53:56 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,45011,45097-45099,45319,45418-45419,45535-45539,45687-45688
-/vendor/wine/dlls/winex11.drv/current:43149,43398,43708,44151,44715,45044,45206,45455,45646,45910
+/vendor/wine/dlls/winex11.drv/current:43149,43398,43708,44151,44715,45044,45206,45455,45646,45910,46314
Modified: branches/arwinss/reactos/dll/win32/winex11.drv/clipboard.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winex11.drv/clipboard.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winex11.drv/clipboard.c [iso-8859-1] Sun Mar 21
21:53:56 2010
@@ -2200,7 +2200,10 @@
HANDLE hData = lpData->lpFormat->lpDrvImportFunc(display,
xe.xselection.requestor,
xe.xselection.property);
- bRet = X11DRV_CLIPBOARD_InsertClipboardData(lpData->wFormatID, hData, 0,
lpData->lpFormat, TRUE);
+ if (hData)
+ bRet = X11DRV_CLIPBOARD_InsertClipboardData(lpData->wFormatID, hData,
0, lpData->lpFormat, TRUE);
+ else
+ TRACE("Import function failed\n");
}
else
{
Modified: branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c [iso-8859-1] Sun Mar 21
21:53:56 2010
@@ -374,6 +374,21 @@
*/
if(!getsockname(fd, (struct sockaddr *)&uaddr, &uaddrlen) &&
uaddr.sun_family == AF_UNIX)
ERR_(winediag)("Direct rendering is disabled, most likely your OpenGL
drivers haven't been installed correctly\n");
+ }
+ else
+ {
+ /* In general you would expect that if direct rendering is returned, that you
receive hardware
+ * accelerated OpenGL rendering. The definition of direct rendering is that
rendering is performed
+ * client side without sending all GL commands to X using the GLX protocol. When
Mesa falls back to
+ * software rendering, it shows direct rendering.
+ *
+ * Depending on the cause of software rendering a different rendering string is
shown. In case Mesa fails
+ * to load a DRI module 'Software Rasterizer' is returned. When Mesa is
compiled as a OpenGL reference driver
+ * it shows 'Mesa X11'.
+ */
+ const char *gl_renderer = (const char *)pglGetString(GL_RENDERER);
+ if(!strcmp(gl_renderer, "Software Rasterizer") || !strcmp(gl_renderer,
"Mesa X11"))
+ ERR_(winediag)("The Mesa OpenGL driver is using software rendering, most
likely your OpenGL drivers haven't been installed correctly\n");
}
if(vis) XFree(vis);
Modified: branches/arwinss/reactos/dll/win32/winex11.drv/window.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winex11.drv/window.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winex11.drv/window.c [iso-8859-1] Sun Mar 21
21:53:56 2010
@@ -2090,20 +2090,24 @@
Display *display = thread_display();
struct x11drv_win_data *data;
XWindowChanges changes;
+ DWORD timestamp;
if (!(hwnd = GetAncestor( hwnd, GA_ROOT ))) return;
if (!(data = X11DRV_get_win_data( hwnd ))) return;
if (data->managed || !data->whole_window) return;
+
+ if (EVENT_x11_time_to_win32_time(0))
+ /* ICCCM says don't use CurrentTime, so try to use last message time if
possible */
+ /* FIXME: this is not entirely correct */
+ timestamp = GetMessageTime() - EVENT_x11_time_to_win32_time(0);
+ else
+ timestamp = CurrentTime;
/* Set X focus and install colormap */
wine_tsx11_lock();
changes.stack_mode = Above;
XConfigureWindow( display, data->whole_window, CWStackMode, &changes );
- /* we must not use CurrentTime (ICCCM), so try to use last message time instead */
- /* FIXME: this is not entirely correct */
- XSetInputFocus( display, data->whole_window, RevertToParent,
- /* CurrentTime */
- GetMessageTime() - EVENT_x11_time_to_win32_time(0));
+ XSetInputFocus( display, data->whole_window, RevertToParent, timestamp );
wine_tsx11_unlock();
}
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/wine/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Mar 21 21:53:56 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,45011,45097-45099,45319,45418-45419,45535-45539,45687-45688
-/vendor/wine/server/current:43708,44715,45044,45206,45646,45910
+/vendor/wine/server/current:43708,44715,45044,45206,45646,45910,46314