summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/gtk/app/gtkdata.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index cdc767d42910..c340dd1afc78 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: gtkdata.cxx,v $
*
- * $Revision: 1.32 $
+ * $Revision: 1.33 $
*
- * last change: $Author: kz $ $Date: 2007-02-12 14:51:58 $
+ * last change: $Author: rt $ $Date: 2007-04-26 10:39:17 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -133,6 +133,13 @@ GdkFilterReturn call_filterGdkEvent( GdkXEvent* sys_event,
{
return GtkSalDisplay::filterGdkEvent( sys_event, event, data );
}
+
+void signalKeysChanged( GdkKeymap*, gpointer data )
+{
+ GtkSalDisplay* pDisp = (GtkSalDisplay*)data;
+ pDisp->GetKeyboardName(TRUE);
+}
+
}
GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* sys_event,
@@ -596,6 +603,7 @@ void GtkXLib::Init()
m_pGtkSalDisplay->SetKbdExtension( pKbdExtension );
+ g_signal_connect( G_OBJECT(gdk_keymap_get_default()), "keys_changed", G_CALLBACK(signalKeysChanged), m_pGtkSalDisplay );
}
extern "C"