Etersoft's patches for WINE Project (c) 2005 www.etersoft.ru File: ../check/dlls_x11drv_keyboard.c.patch Index: keyboard.c =================================================================== RCS file: /home/wine/wine/dlls/x11drv/keyboard.c,v retrieving revision 1.61 diff -u -r1.61 keyboard.c --- keyboard.c 6 Dec 2004 17:06:20 -0000 1.61 +++ dlls/x11drv/keyboard.c 21 Dec 2004 17:11:24 -0000 @@ -2170,6 +2170,15 @@ goto found; } #endif + /* An ugly hack for NumeroSign: X can't translate it to a character + for koi8-r locale. */ + if (keysym == XK_numerosign ) + { + bufW[0] = 0x2116; + ret = 1; + goto found; + } + /* Special case: X turns shift-tab into ISO_Left_Tab. */ /* Here we change it back. */ if (keysym == XK_ISO_Left_Tab) File: wineps-init.patch --- /home/lav/Project/wine-origin/dlls/wineps/init.c 2005-01-02 20:51:39 +0300 +++ dlls/wineps/init.c 2005-01-04 18:54:38 +0300 @@ -319,7 +319,7 @@ if(!pi->Fonts) { MESSAGE("To use WINEPS you need to install some AFM files.\n"); - return FALSE; + //return FALSE; } physDev = (PSDRV_PDEVICE *)HeapAlloc( PSDRV_Heap, HEAP_ZERO_MEMORY, File: ../check/dlls_gdi_bitmap_getobject.patch Index: bitmap.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/bitmap.c,v retrieving revision 1.7 diff -u -u -r1.7 bitmap.c --- bitmap.c 13 Apr 2005 16:11:18 -0000 1.7 +++ dlls/gdi/bitmap.c 17 May 2005 18:44:52 -0000 @@ -612,6 +612,7 @@ /*********************************************************************** * BITMAP_GetObject + * Fill buffer with BITMAP or DIPSECTION (depends on dib field and count size) */ static INT BITMAP_GetObject( HGDIOBJ handle, void *obj, INT count, LPVOID buffer ) { @@ -621,26 +622,19 @@ { if( !buffer ) return sizeof(DIBSECTION); - if (count < sizeof(DIBSECTION)) - { - if (count > sizeof(BITMAP)) count = sizeof(BITMAP); - } - else - { - if (count > sizeof(DIBSECTION)) count = sizeof(DIBSECTION); - } - - memcpy( buffer, bmp->dib, count ); - return count; - } - else - { - if( !buffer ) - return sizeof(BITMAP); - if (count > sizeof(BITMAP)) count = sizeof(BITMAP); - memcpy( buffer, &bmp->bitmap, count ); - return count; + if (count >= sizeof(DIBSECTION)) + { + count = sizeof(DIBSECTION); + memcpy( buffer, bmp->dib, count ); + return count; + } + if (count > sizeof(BITMAP)) count = sizeof(BITMAP); } + if( !buffer ) + return sizeof(BITMAP); + if (count > sizeof(BITMAP)) count = sizeof(BITMAP); + memcpy( buffer, &bmp->bitmap, count ); + return count; } File: ../check/dlls_user_sysparams.patch Index: sysparams.c =================================================================== RCS file: /home/wine/wine/dlls/user/sysparams.c,v retrieving revision 1.18 diff -u -u -r1.18 sysparams.c --- sysparams.c 25 May 2005 18:42:37 -0000 1.18 +++ dlls/user/sysparams.c 27 May 2005 10:56:42 -0000 @@ -1471,18 +1471,18 @@ { WCHAR buf[5]; spi_idx = SPI_SETMOUSEBUTTONSWAP_IDX; - wsprintfW(buf, CSu, uiParam); + /* MSDN says it returns previous state of swapbutton always */ + ret = sysMetrics[SM_SWAPBUTTON]; if (SYSPARAMS_Save( SPI_SETMOUSEBUTTONSWAP_REGKEY, SPI_SETMOUSEBUTTONSWAP_VALNAME, buf, fWinIni )) { sysMetrics[SM_SWAPBUTTON] = uiParam; spi_loaded[spi_idx] = TRUE; + SYSPARAMS_NotifyChange( uiAction, fWinIni ); } - else - ret = FALSE; - break; + return ret; } WINE_SPI_FIXME(SPI_SETICONTITLELOGFONT); /* 34 */ Index: sysparams.c =================================================================== RCS file: /home/wine/wine/dlls/user/tests/sysparams.c,v retrieving revision 1.36 diff -u -u -r1.36 sysparams.c --- sysparams.c 23 Mar 2005 13:15:18 -0000 1.36 +++ dlls/user/tests/sysparams.c 27 May 2005 10:55:42 -0000 @@ -1010,7 +1010,7 @@ SetLastError(0xdeadbeef); rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, vals[i], 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE ); - if (!test_error_msg(rc,"SPI_{GET,SET}MOUSEBUTTONSWAP")) + if (!test_error_msg(rc!=vals[i],"SPI_{GET,SET}MOUSEBUTTONSWAP")) return; test_change_message( SPI_SETMOUSEBUTTONSWAP, 0 ); @@ -1023,7 +1023,7 @@ rc=SystemParametersInfoA( SPI_SETMOUSEBUTTONSWAP, old_b, 0, SPIF_UPDATEINIFILE ); - ok(rc!=0,"***warning*** failed to restore the original value: rc=%d err=%ld\n",rc,GetLastError()); + ok(!rc,"***warning*** failed to restore the original value: rc=%d err=%ld\n",rc,GetLastError()); } static void test_SPI_SETFASTTASKSWITCH( void ) /* 36 */ File: dlls-user-static.c.diff Fix for COMPAS dialog Index: static.c =================================================================== RCS file: /home/wine/wine/dlls/user/static.c,v retrieving revision 1.8 diff -u -r1.8 static.c --- static.c 21 Jun 2005 20:53:14 -0000 1.8 +++ dlls/user/static.c 28 Jun 2005 14:47:17 -0000 @@ -406,6 +406,7 @@ switch(wParam) { case IMAGE_BITMAP: lResult = (LRESULT)STATIC_SetBitmap( hwnd, (HBITMAP)lParam, full_style ); + InvalidateRect( hwnd, NULL, TRUE ); break; case IMAGE_CURSOR: FIXME("STM_SETIMAGE: Unhandled type IMAGE_CURSOR\n"); @@ -415,12 +416,12 @@ break; case IMAGE_ICON: lResult = (LRESULT)STATIC_SetIcon( hwnd, (HICON)lParam, full_style ); + InvalidateRect( hwnd, NULL, TRUE ); break; default: FIXME("STM_SETIMAGE: Unhandled type %x\n", wParam); break; } - InvalidateRect( hwnd, NULL, TRUE ); break; case STM_SETICON16: