The flickering problem is solved. It's all my mistake in program logic. The thread changed some global variable that shouldn't be changed. It's quite a common error caused by my laziness to use local variable.
As to use xepdmgrclient to control refresh, GDK provides gdk_window_freeze_updates() and gdk_window_thaw_updates() for the same purpose. It's a more generic way. This info might be useful for developers who also use xepdmgr.
|