]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xpm/simx.c
Filling out wxDC
[wxWidgets.git] / src / xpm / simx.c
index 04714849bf5deab09f211d85f039fa576aa398b9..267c4195765dbb6aac8123a2791299ed697760ec 100644 (file)
@@ -38,7 +38,7 @@
 
 #ifdef FOR_MSW
 
-#include "xpmi.h"                      /* for XpmMalloc */
+#include "XpmI.h"           /* for XpmMalloc */
 
 /*
  * On DOS size_t is only 2 bytes, thus malloc(size_t s) can only malloc
@@ -137,6 +137,7 @@ XDefaultDepth(Display *display, Screen *screen)
     DevQueryCaps(hdcScreen, CAPS_COLOR_PLANES, 1L, &lPlanes);
     DevQueryCaps(hdcScreen, CAPS_COLOR_BITCOUNT, 1L, &lBitsPerPixel);
     b = (int)lBitsPerPixel;
+    WinReleasePS(hpsScreen);
 #else
     b = GetDeviceCaps(*display, BITSPIXEL);
     d = GetDeviceCaps(*display, PLANES);
@@ -273,10 +274,8 @@ XCreateImage(Display *d, Visual *v,
 {
     XImage *img = (XImage *) XpmMalloc(sizeof(XImage));
 #ifdef __OS2__
-    HPS                  hps;
     BITMAPINFOHEADER2    bmih;
 
-    hps = WinGetScreenPS(HWND_DESKTOP);
     memset(&bmih, 0, sizeof(BITMAPINFOHEADER2));
     bmih.cbFix = sizeof(BITMAPINFOHEADER2);
     bmih.cx = width;
@@ -294,7 +293,8 @@ XCreateImage(Display *d, Visual *v,
            img->bitmap = CreateCompatibleBitmap(*d, width, height);
         } else*/ {
 #ifdef __OS2__
-     img->bitmap = GpiCreateBitmap(hps, &bmih, 0L, NULL, NULL);
+        img->bitmap = GpiCreateBitmap(*d, &bmih, 0L, NULL, NULL);
+        WinReleasePS(*d);
 #else
            img->bitmap = CreateBitmap(width, height, 1 /* plane */ ,
                                       depth /* bits per pixel */ , NULL);