Scintilla Gtk: use gdk_threads_add_idle_full() instead of g_idle_add_full() and gdk_threads_add_timeout() instead of g_timeout_add()
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.

rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror,rhaberkorn/scintilla-mirror