gnome-keyring r1654 - in trunk: . egg



Author: nnielsen
Date: Tue Mar  3 03:51:36 2009
New Revision: 1654
URL: http://svn.gnome.org/viewvc/gnome-keyring?rev=1654&view=rev

Log:
 Fix "gnome-keyring-ask needs to disable
	input method in password" bug #561331 Patch by Takao Fujiwara

Modified:
   trunk/ChangeLog
   trunk/egg/egg-secure-entry.c

Modified: trunk/egg/egg-secure-entry.c
==============================================================================
--- trunk/egg/egg-secure-entry.c	(original)
+++ trunk/egg/egg-secure-entry.c	Tue Mar  3 03:51:36 2009
@@ -522,7 +522,7 @@
      * This object is completely private. No external entity can gain a reference
      * to it; so we create it here and destroy it in finalize().
      */
-    entry->im_context = gtk_im_multicontext_new ();
+    entry->im_context = gtk_im_context_simple_new ();
 
     g_signal_connect (entry->im_context, "commit",
                       G_CALLBACK (egg_secure_entry_commit_cb), entry);
@@ -2268,6 +2268,27 @@
     if (setting == entry->visibility)
         return;
 
+    if (GTK_WIDGET_HAS_FOCUS (entry) && !setting)
+        gtk_im_context_focus_out (entry->im_context);
+    g_object_unref (entry->im_context);
+
+    if (setting)
+        entry->im_context = gtk_im_multicontext_new ();
+    else
+        entry->im_context = gtk_im_context_simple_new ();
+
+    g_signal_connect (entry->im_context, "commit",
+                      G_CALLBACK (egg_secure_entry_commit_cb), entry);
+    g_signal_connect (entry->im_context, "preedit_changed",
+                      G_CALLBACK(egg_secure_entry_preedit_changed_cb), entry);
+    g_signal_connect (entry->im_context, "retrieve_surrounding",
+                      G_CALLBACK(egg_secure_entry_retrieve_surrounding_cb), entry);
+    g_signal_connect (entry->im_context, "delete_surrounding",
+                      G_CALLBACK(egg_secure_entry_delete_surrounding_cb), entry);
+
+    if (GTK_WIDGET_HAS_FOCUS (entry) && setting)
+        gtk_im_context_focus_in (entry->im_context);
+
     entry->visibility = setting;
     g_object_notify (G_OBJECT (entry), "visibility");
     egg_secure_entry_recompute (entry);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]