Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2004:
[Freeciv-Dev] (PR#11445) gui-gtk-2.0 canvas_fill_sprite_area doesn't sup
Home

[Freeciv-Dev] (PR#11445) gui-gtk-2.0 canvas_fill_sprite_area doesn't sup

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] (PR#11445) gui-gtk-2.0 canvas_fill_sprite_area doesn't support pixcomms
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 9 Dec 2004 18:18:02 -0800
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=11445 >

(civclient:4943): Gdk-CRITICAL **: file gdkdraw.c: line 411 
(gdk_draw_rectangle): assertion `GDK_IS_DRAWABLE (drawable)' failed


#7  0x403190db in gdk_draw_rectangle () from /usr/lib/libgdk-x11-2.0.so.0
#8  0x08134912 in canvas_fill_sprite_area (pcanvas=0xbffff3e0,
     psprite=0x830a120, color=COLOR_STD_BLACK, canvas_x=0, canvas_y=16)
     at ../../../freeciv-2.0/client/gui-gtk-2.0/mapview.c:804
#9  0x08080bc1 in put_drawn_sprites (pcanvas=0xbffff3e0, canvas_x=0,
     canvas_y=16, count=4, pdrawn=0xbffff000, fog=false)
     at ../../freeciv-2.0/client/mapview_common.c:847
#10 0x08080cc2 in put_unit (punit=0x84f10a8, pcanvas=0xbffff3e0, canvas_x=0,
     canvas_y=16) at ../../freeciv-2.0/client/mapview_common.c:874
#11 0x081342ca in put_unit_gpixmap (punit=0x84f10a8, p=0x839f118)
     at ../../../freeciv-2.0/client/gui-gtk-2.0/mapview.c:634
#12 0x0812a622 in set_unit_icon (idx=-1, punit=0x84f10a8)
     at ../../../freeciv-2.0/client/gui-gtk-2.0/gui_main.c:1281
#13 0x08075d46 in update_unit_pix_label (punit=0x84f10a8)
     at ../../freeciv-2.0/client/control.c:423
#14 0x08133680 in update_unit_info_label (punit=0x84f10a8)


Problem is in canvas_fill_sprite_area:

{
   gdk_gc_set_clip_origin(fill_bg_gc, canvas_x, canvas_y);
   gdk_gc_set_clip_mask(fill_bg_gc, psprite->mask);
   gdk_gc_set_foreground(fill_bg_gc, colors_standard[color]);

   gdk_draw_rectangle(pcanvas->v.pixmap, fill_bg_gc, TRUE,
                     canvas_x, canvas_y,
                      psprite->width, psprite->height);

   gdk_gc_set_clip_mask(fill_bg_gc, NULL);
}

which simply doesn't work with pixcomms.

However this bug only shows up when using the 
solid_unit_background_color option in iso-view.

-jason





[Prev in Thread] Current Thread [Next in Thread]