Callbacks in timeouts called without GDK lock
Bug #988853 reported by
Yehouda
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
overlay-scrollbar |
New
|
Undecided
|
Unassigned |
Bug Description
Callbacks in the overlay scrollbar that are called by timeout are setup by calls
to g_timeout_add, which means that the callbacks are called without GDK lock. This
is a problem because most (or all) of them do GTK operations that require the
GDK lock.
Instead of g_timeout_add, it should use gdk_threads_
carefully check all the code, but I think all calls to g_timeout_add need changing.
If the code use g_idle_add anywhere, it may need to be fixed (I didn't see any).
We found it because we have multi-threading application, and when using
overlay scrollbar it randomly crashes, so we checked and found it.
We found about LIBOVERLAY_
To post a comment you must log in.
It partly reported in /bugs.launchpad .net/ubuntu/ +source/ overlay- scrollbar/ +bug/908618
https:/
But the fix there is incorrect. It needs to to use the gdk_threads_* functions.