]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xpm/simx.c
fixed memory leaks
[wxWidgets.git] / src / xpm / simx.c
index 78bf77b0fcdfdbdaddc2708e4855d7e8f8e44d40..f873c9a04c9096d102c0800fc1d0ccb22894d24b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1989-94 GROUPE BULL
+ * Copyright (C) 1989-95 GROUPE BULL
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
 * Developed by HeDu 3/94 (hedu@cul-ipn.uni-kiel.de)                           *
 \*****************************************************************************/
 
-#include "xpm34.h"
+/* Moved here so that FOR_MSW gets defined if we are using wxWindows (GRG) */
+#include "xpm.h"
 
 #ifdef FOR_MSW
 
-#include "xpm34p.h"                    /* for XpmMalloc */
+#include "xpmi.h"                      /* for XpmMalloc */
 
 /*
  * On DOS size_t is only 2 bytes, thus malloc(size_t s) can only malloc
@@ -139,7 +140,7 @@ XDefaultColormap(Display *display, Screen *screen)
 /* convert hex color names,
    wrong digits (not a-f,A-F,0-9) are treated as zero */
 static int 
-hexCharToInt(char c)
+hexCharToInt(c)
 {
     int r;
 
@@ -213,6 +214,8 @@ XParseColor(Display *d, Colormap *cmap, char *name, XColor *color)
 }
 
 
+/* GRG: 2nd arg is Colormap*, not Colormap */
+
 int 
 XAllocColor(Display *d, Colormap *cmap, XColor *color)
 {
@@ -254,9 +257,16 @@ XCreateImage(Display *d, Visual *v,
     XImage *img = (XImage *) XpmMalloc(sizeof(XImage));
 
     if (img) {
-       /* *img = CreateCompatibleBitmap(*d, width, height); */
-       img->bitmap = CreateBitmap(width, height, 1 /* plane */ ,
-                                  depth /* bits per pixel */ , NULL);
+       /*JW: This is what it should be, but the picture comes out
+             just black!?  It appears to be doing monochrome reduction,
+             but I've got no clue why.  Using CreateBitmap() is supposed
+             to be slower, but otherwise ok
+         if ( depth == GetDeviceCaps(*d, BITSPIXEL) ) {
+           img->bitmap = CreateCompatibleBitmap(*d, width, height);
+        } else*/ {
+           img->bitmap = CreateBitmap(width, height, 1 /* plane */ ,
+                                      depth /* bits per pixel */ , NULL);
+       }
        img->width = width;
        img->height = height;
        img->depth = depth;