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

re: on_expose_event not being called when expected (Garth's KidStuff)



> I have a large application whose drawing logic is based on the clock
example

>* When objects need to be redrawn they set a rectangle
>* A timer fires every so often (100ms in my case), and I call
>invalidate_rect  with the above rectangle
>* My Gtk::DrawingArea-derived class overrides on_expose_event and draws the
>objects

>This logic works impeccably (*grin*) until the CPU is under heavy load.  In
>that case, I can see the invalidate_rect calls happening but
on_expose_event
>doesn't get called until the cpu load is back to normal.  I've been banging
>my head against this for a few days now and would love some new ideas about
>how to attack the problem.

I found a function -- gdk_window_process_all_updates() -- that seems to
solve this problem.  If I call this immediately after invalidating the
rectangles, then on_expose_event always gets called even under the adverse
conditions described above.

My modified question for the list then is this:  Is this a reasonable
solution?  Can anyone see a downside to calling
gdk_window_process_all_updates?

THnaks


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