Hi guys,
I am running GGL(Google Gadgets for Linux) based Gadget on my embedded linux
platform, and it runs on Gtk+(gtk+-2.16.0)/DirectFB, now i encounter some
flicker problem as follows:
1, If i move my mouse from one button to another button on the gadget, the
gadget flickers
2, If i move the mouse off the gadget, or make mouse entry into the gadget,
it flickers too
I've made some investigations:
1, the gadget flickers for redrawing, since we got the expose-event
2, the redrawing process is as follows:
1) calling gdk_window_begin_paint_region() in gdk/gdkwindow.c
2) then gdk_window_impl_directfb_begin_paint_region()
in gdk/directfb/gdkwindow-directfb.c
3) next GGL expose-event handler is called
4) then run gdk_window_end_paint() in gdk/gdkwindow.c
5) last gdk_window_impl_directfb_end_paint()
in gdk/directfb/gdkwindow-directfb.c
3, I tried to make some modifications but without getting any positive
results
My question is:
1, it flickers for repeating redrawing the black-background and the gadget,
agreed?
2, it is the expose-event that triggers the redrawing process, but we just
move the mouse? or why expose event take places together with mouse motion
event?
3, is it for the gtk_propagate_event() in gtk/gtkmain.c? how to fix it?
It is greatly appreciated if you could give me some clues:)
Many thanks,
Tony