X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fx11.c;h=30aaa1bcbaf7b11688459b853ea333b4f6b935b8;hb=ee749a764df3dfa944c1f9de740ccbeb1cfdef40;hp=ce520f6452ed70613d8fc664aec436669293541e;hpb=74c0f7de91268e40d15948f473eac51a9760b9c0;p=rocksndiamonds.git diff --git a/src/libgame/x11.c b/src/libgame/x11.c index ce520f64..30aaa1bc 100644 --- a/src/libgame/x11.c +++ b/src/libgame/x11.c @@ -93,9 +93,6 @@ static DrawWindow *X11InitWindow() Pixmap icon_pixmap, iconmask_pixmap; unsigned int icon_width, icon_height; int icon_hot_x, icon_hot_y; -#if 0 - char icon_filename[256]; -#endif XSizeHints size_hints; XWMHints wm_hints; XClassHint class_hints; @@ -106,21 +103,11 @@ static DrawWindow *X11InitWindow() #endif int screen_width, screen_height; int win_xpos, win_ypos; - unsigned long pen_fg = WhitePixel(display,screen); - unsigned long pen_bg = BlackPixel(display,screen); + unsigned long pen_fg = WhitePixel(display, screen); + unsigned long pen_bg = BlackPixel(display, screen); const int width = video.width, height = video.height; int i; -#if 0 -#if !defined(PLATFORM_MSDOS) - static struct IconFileInfo icon_pic = - { - "rocks_icon.xbm", - "rocks_iconmask.xbm" - }; -#endif -#endif - screen_width = XDisplayWidth(display, screen); screen_height = XDisplayHeight(display, screen); @@ -140,10 +127,6 @@ static DrawWindow *X11InitWindow() XChangeProperty(display, new_window->drawable, proto_atom, XA_ATOM, 32, PropModePrepend, (unsigned char *) &delete_atom, 1); -#if 0 - sprintf(icon_filename, "%s/%s", options.graphics_directory, - icon_pic.picture_filename); -#endif if (XReadBitmapFile(display, new_window->drawable, getCustomImageFilename(program.x11_icon_filename), &icon_width, &icon_height, &icon_pixmap, @@ -151,10 +134,6 @@ static DrawWindow *X11InitWindow() Error(ERR_EXIT, "cannot read icon bitmap file '%s'", program.x11_icon_filename); -#if 0 - sprintf(icon_filename, "%s/%s", options.graphics_directory, - icon_pic.picturemask_filename); -#endif if (XReadBitmapFile(display, new_window->drawable, getCustomImageFilename(program.x11_iconmask_filename), &icon_width, &icon_height, &iconmask_pixmap, @@ -399,7 +378,7 @@ inline Pixel X11GetPixel(Bitmap *bitmap, int x, int y) AllPlanes, ZPixmap); pixel_value = XGetPixel(pixel_image, 0, 0); - XDestroyImage(pixel_image); + X11DestroyImage(pixel_image); return pixel_value; } @@ -423,6 +402,20 @@ inline Pixel X11GetPixelFromRGB(unsigned int color_r, unsigned int color_g, } #endif /* TARGET_X11_NATIVE */ +inline void X11DestroyImage(XImage *ximage) +{ +#if defined(TARGET_X11_NATIVE) + /* this seems to be needed for OS/2, but does not hurt on other platforms */ + if (ximage->data != NULL) + { + free(ximage->data); + ximage->data = NULL; + } +#endif /* TARGET_X11_NATIVE */ + + XDestroyImage(ximage); +} + /* ------------------------------------------------------------------------- */ /* mouse pointer functions */