aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase/ScintillaEditBase.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2016-04-08 09:25:05 +1000
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2016-04-08 09:25:05 +1000
commit68a2a44587388528e344dc25a1a33e0e17e7e468 (patch)
tree231f119bbb4006ceaedc97923f245f53d85a9a4b /qt/ScintillaEditBase/ScintillaEditBase.cpp
parent0604389a02a2cb5f33f5f84e460ad3d7a55f1fc4 (diff)
downloadscintilla-mirror-68a2a44587388528e344dc25a1a33e0e17e7e468.tar.gz
Scintilla Gtk: use gdk_threads_add_idle_full() instead of g_idle_add_full() and gdk_threads_add_timeout() instead of g_timeout_add()
* The g_idle/g_timeout watchers are not executed with the Gdk lock held. This causes memory corruptions and crashes when accessing the Scintilla object from the non-main-loop-thread. At least this was the case after Gdk 3.6 since Scintilla used gdk_threads_enter()/leave() for earlier versions. The timeout handlers have possibly always been broken. * The new version should work with non-deprecated APIs in all Gdk versions. * Even though this only fixes the idle handlers in Gdk >= 3.6 where gdk_threads_enter() is deprecated (the only way to provoke above situation) - and the timers of course - this patch makes the code more elegant.
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaEditBase.cpp')
0 files changed, 0 insertions, 0 deletions