--- ../src/mwin/winlib/button.c	2010-03-12 07:42:26.000000000 +0100
+++ mwin/winlib/button.c	2010-04-27 16:44:02.000000000 +0200
@@ -23,6 +23,7 @@
  * Gabriele Brugnoni 2003/08/30 Italy      Modified WM_GETDLGCODE event.
  * Gabriele Brugnoni 2003/08/30 Italy      CheckRadioButton moved on windlg.c
  * Gabriele Brugnoni 2004/07/13 Italy      Radio button vertical centered
+ * Ludwig Ertl       2010/04/27 Austria    Support for BS_PUSHLIKE
  */
 
 #define CONFIG_AUTORADIOBUTTONSIZE
@@ -475,11 +476,15 @@
 	crOld = SetTextColor( hdc, GetSysColor( COLOR_BTNTEXT));
 	crBkOld = SetBkColor( hdc, GetSysColor( COLOR_BTNFACE));
 
+   /* "Convert" pushlike buttons to pushbuttons */
+   if (dwStyle & BS_PUSHLIKE)
+      dwStyle &= ~0x0F;
+
 	rc = rectClient;
 	switch((int)(dwStyle & 0x0f)) {
 	case BS_PUSHBUTTON:
 	case BS_DEFPUSHBUTTON:
-		if( wEnumState & PBS_FOCUSDOWN) {
+		if( (wEnumState & PBS_FOCUSDOWN) || (wEnumState & PBS_CHECKED)) {
 			if(dwStyle & BS_BITMAP)
 				DrawDIB(hdc, rc.left+1, rc.top+1, (PMWIMAGEHDR)hwnd->userdata);
 			Draw3dBox(hdc, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top,

