Re: dragging bug caused by fix for GtkInvisible style attach leak



Darin Adler <darin eazel com> writes: 
> It turns out that there's a GtkInvisible created by the DnD code. When it's
> realized, the fact that the colormap is NULL results in assertion failures.
> I'm no expert in this part of the GTK code, so it's not obvious to me what
> should be fixed.
> 

I found this on vacation (it also breaks GTK HEAD) and fooled around
with various fixes. I'll try to get one of them in CVS shortly, I just
got home and online.

The problem is: 1) gtk_invisible_realize doesn't create widget->window
with a colormap and 2) if you fix that, gdk_window_new() ignores
colormaps for GDK_INPUT_ONLY windows anyhow (and indeed they don't
make sense).

So the possible fixes are:
 a) allow GtkInvisible not to have a style (revert Alex's change) and 
    allow widget->style to be NULL or whatever the problem was there
    (i.e. special case invisible widgets)
 b) allow input-only windows to have a colormap and set the colormap
    for GtkInvisible's window
 c) special-case input only windows somehow (either in all code 
    using window->colormap, or maybe gdk_drawable_get_colormap()
    would return the default cmap for input-only windows - putting 
    the special case in only one spot)

Since everyone is out of town it's likely I should check in a quick
fix of some kind for the short term, I guess the smallest possible fix
is b)

Thanks for catching this prior to 1.2.9

Havoc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]