GNOME Bugzilla – Bug 135902
File selector draw badly when browse is expanded
Last modified: 2011-02-04 16:16:03 UTC
When the browse button is expanded, not everything is drawn correctly.
Created attachment 25006 [details] Image showing problem
This is what happens: - When the expander is expanded, the "extra" area gets gtk_widget_show() called on it. - This causes the extra area to be queued for a draw - In the idle loop the area is not drawn because it overlaps the dialog's button area, and so gets clipped out by gtk_container_propagate_expose() - The configure event arrives, and the dialog is size allocated. Because of bugs in the GtkWindow size allocation logic where GtkWidget->allocation is sometimes out of sync with the actual window size when gtk_widget_queue_draw() is called, this doesn't cause the window to be invalidated. (Normally not a problem, because windows are just gray like their background color anyway). - The FileChooserDefault gets size allocated, but this doesn't cause a redraw because FileChooserDefault inherits GtkVbox which calls gtk_widget_set_redraw_on_allocate (widget, FALSE); on itself. - So, only the areas that get redrawn for other reasons (ie. the buttons) actually get drawn. A simple fix is to simply call gtk_widget_set_redraw_on_allocate (impl, TRUE) in gtk_file_chooser_default_init().
Committed this as a work around.
*** Bug 145352 has been marked as a duplicate of this bug. ***