index
flicker-gtk
see flicker (there's also a patch for GDK), here are just my notes:
problem:
When a theme is switched, my patch loses. Background pixel is somehow installed!
another kind of flickering
When I navigate in a treeview, selection follows the current row, and I reach the bottom, then the next step comprises 2 steps:
scrolling of the window with no selection, and only then the newly visible row is selected -- highlighted. So there is a small flickering.
gdkWindow
what is:
- parent_instance inheritance! GdkDrawable parent_instance;
- parent
- paint_stack ??
- resize_count ?
- guffaw_gravity
Problems with the GDK patch
I left gdk_window_set_background to set the color!
What did my first patch solve?
Doing another patch:
GtkImage does not need any bg, so I concentrated on that case:
- gtk_misc_realize is not fully used, b/c for GtkImage we have GTK_WIDGET_NO_WINDOW!
- So I put GtkImages into event-box, and use:
g_print("%s: bg none.\n", __FUNCTION__);
gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
In fact gtk-event-box was intended for this. Quote from api docs
The main reason to create a non input-only event box is if you want to set the background to a
different color or draw on it.
Creating the patch
foreach file (gtk/gtkwindow.c gtk/gtkeventbox.c gtk/gtkmisc.c gdk/x11/gdkwindow-x11.c) {make_diff $file /p/gtk+-2.10.6.mmc/work/gtk+-2.10.6/$file}