+    wxTimer *timer = (wxTimer*)data;
+
+    /* when getting called from GDK's timer handler we
+       are no longer within GDK's grab on the GUI
+       thread so we must lock it here ourselves */
+    gdk_threads_enter();
+
+    timer->Notify();
+
+    /* release lock again */
+    gdk_threads_leave();