From 176d98241020d28c8b7c9220389139e8dbf6a8ea Mon Sep 17 00:00:00 2001
From: Paul Cornett <paulcor@bullseye.com>
Date: Mon, 30 Oct 2006 18:00:50 +0000
Subject: [PATCH] don't try to add emission hook if GtkWidget type is not
 loaded

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 src/gtk/app.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp
index 8eebbeb35c..9be1cb13bf 100644
--- a/src/gtk/app.cpp
+++ b/src/gtk/app.cpp
@@ -194,11 +194,16 @@ event_emission_hook(GSignalInvocationHint*, guint, const GValue*, gpointer)
     return false;
 }
 
+// add emission hook for "event" signal, to re-install idle handler when needed
 static inline void wxAddEmissionHook()
 {
-    // add emission hook for "event" signal, to re-install idle handler when needed
-    guint sig_id = g_signal_lookup("event", GTK_TYPE_WIDGET);
-    g_signal_add_emission_hook(sig_id, 0, event_emission_hook, NULL, NULL);
+    GType widgetType = GTK_TYPE_WIDGET;
+    // if GtkWidget type is loaded
+    if (g_type_class_peek(widgetType) != NULL)
+    {
+        guint sig_id = g_signal_lookup("event", widgetType);
+        g_signal_add_emission_hook(sig_id, 0, event_emission_hook, NULL, NULL);
+    }
 }
 
 static gint wxapp_idle_callback( gpointer WXUNUSED(data) )
-- 
2.47.2