gtk_notebook_forall



Currently, gtk_notebook_forall() has:

      if (include_internals)
        {
          if (page->tab_label)
            (* callback) (page->tab_label, callback_data);
          if (page->menu_label)
            (* callback) (page->menu_label, callback_data);
        }

But page->menu_label isn't even a child of the notebook!

This causes:

 http://bugzilla.gnome.org/show_bug.cgi?id=120477

and probably other problems ... there are various places
in GTK+ that use forall() to descend the widget
heirarchy.

The obvious fix would be to remove the menu_label from
the forall, but before I did that I wanted to ask whether
anybody could think of compatibility concerns with this - 
I could sort of imagine someone using gtk_container_forall()
to hunt for the menu labels recursively.

It's also possible to fix #120477 in a different way that
would be safer but might possibly leave other bugs 
around - use a custom implementation of unmap() rather than
than using the default gtk_container_unmap() implementation.

Regards,
				Owen





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