On Tue, Aug 28, 2001 at 10:13:25AM +0200, Danny Backx wrote:
> I've added a XmDropSiteRegistered() which returns False for now,
> Alexander has added the prototype for it to the include files.
>
> I've added some code so _XmCalcIconGDimensions() picks up either
> the small or large icon pixmap, depending on ViewType. Don't know if
> that's correct behaviour.
> > I now replaced in IconG.c all references to XG_SmallIconPixmap with
> > XG_IconPixmap, which I defined as follows:
> >
> > #define IG_IconPixmap(w) \
> > ((IG_ViewType(w)==XmLARGE_ICON)?IG_LargeIconPixmap(w):IG_SmallIconPixmap(w))
Ok, now it stops here in IconG.c:expose(), right?!
First I see that we still explicitly use the small pixmap in
that function, especially in the call to XGetGeometry which
exit()s. So we probably need to apply a patch as indicated.
Here's a look at the 'thing' from within gdb:
expose (w=0x1202413d0, event=0x1202413d0, region=0x200002f8374) at IconG.c:1270
1270 myGC = IG_NormalGC(w);
(gdb) p ((XmIconGadget)(w))->icong
$5 = {label_string = 0x120241840 "\020,$ \001", large_icon_mask = 2, large_icon_pixmap
= 2,
small_icon_mask = 2,
small_icon_pixmap = 2, view_type = 0 '\000', visual_emphasis = 1 '\001', detail =
0x0, detail_count
= 0,
label_rect_width = 0, label_rect_height = 0, large_icon_rect_width = 0,
large_icon_rect_height = 0,
small_icon_rect_width = 0, small_icon_rect_height = 0,
large_pixmap_name = 0x40000000000000 <Address 0x40000000000000 out of bounds>,
small_pixmap_name =
0x0, cache = 0x120242cc8}
Large and small are the same here?
BTW, what are these large_pixmap_name/small_pixmap_name names for?
I see no reference ever to those.
Alexander