Fix segv when using -g.
authorWerner Koch <wk@gnupg.org>
Mon, 19 Apr 2010 13:01:15 +0000 (13:01 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 19 Apr 2010 13:01:15 +0000 (13:01 +0000)
ChangeLog
gtk+-2/gtksecentry.c
gtk+-2/pinentry-gtk-2.c

index f746754..dc472b9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-04-19  Werner Koch  <wk@g10code.com>
+
+       * gtk+-2/gtksecentry.c (gtk_secure_entry_delete_cb)
+       (gtk_secure_entry_toggle_overwrite, activate_cb)
+       (unichar_chosen_func): Comment out these unused functions.
+       (secentry_malloc): Fix format string error.
+
+2010-04-19  Stanislav Ochotnicky  <sochotnicky@redhat.com>  (wk)
+
+       * gtk+-2/pinentry-gtk-2.c (ungrab_keyboard): Fix segv when using
+       option -g.
+
 2010-04-16  Marcus Brinkmann  <marcus@g10code.de>
 
        * secmem/util.c: Fix inverted test.
index 9bef760..146cec7 100644 (file)
@@ -277,7 +277,7 @@ secentry_malloc (GMALLOC_SIZE size)
     else
        p = (gpointer) malloc(size);
     if (!p)
-       g_error("could not allocate %ld bytes", size);
+      g_error("could not allocate %lu bytes", (unsigned long)size);
 
     return p;
 }
@@ -1844,21 +1844,21 @@ gtk_secure_entry_delete_from_cursor(GtkSecureEntry * entry,
     gtk_secure_entry_pend_cursor_blink(entry);
 }
 
-static void
-gtk_secure_entry_delete_cb(GtkSecureEntry * entry)
-{
-    GtkEditable *editable = GTK_EDITABLE(entry);
-    gint start, end;
+/* static void */
+/* gtk_secure_entry_delete_cb(GtkSecureEntry * entry) */
+/* { */
+/*     GtkEditable *editable = GTK_EDITABLE(entry); */
+/*     gint start, end; */
 
-    if (gtk_editable_get_selection_bounds(editable, &start, &end))
-      gtk_editable_delete_text(editable, start, end);
-}
+/*     if (gtk_editable_get_selection_bounds(editable, &start, &end)) */
+/*       gtk_editable_delete_text(editable, start, end); */
+/* } */
 
-static void
-gtk_secure_entry_toggle_overwrite(GtkSecureEntry * entry)
-{
-    entry->overwrite_mode = !entry->overwrite_mode;
-}
+/* static void */
+/* gtk_secure_entry_toggle_overwrite(GtkSecureEntry * entry) */
+/* { */
+/*     entry->overwrite_mode = !entry->overwrite_mode; */
+/* } */
 
 static void
 gtk_secure_entry_real_activate(GtkSecureEntry * entry)
@@ -3119,13 +3119,13 @@ gtk_secure_entry_get_layout_offsets(GtkSecureEntry * entry,
 
 /* Quick hack of a popup menu
  */
-static void
-activate_cb(GtkWidget * menuitem, GtkSecureEntry * entry)
-{
-    const gchar *signal =
-       g_object_get_data(G_OBJECT(menuitem), "gtk-signal");
-    g_signal_emit_by_name(entry, signal);
-}
+/* static void */
+/* activate_cb(GtkWidget * menuitem, GtkSecureEntry * entry) */
+/* { */
+/*   const gchar *asignal = */
+/*     g_object_get_data(G_OBJECT(menuitem), "gtk-signal"); */
+/*   g_signal_emit_by_name(entry, asignal); */
+/* } */
 
 
 static gboolean
@@ -3137,13 +3137,13 @@ gtk_secure_entry_mnemonic_activate(GtkWidget * widget,
 }
 
 
-static void
-unichar_chosen_func(const char *text, gpointer data)
-{
-    GtkSecureEntry *entry = GTK_SECURE_ENTRY(data);
+/* static void */
+/* unichar_chosen_func(const char *text, gpointer data) */
+/* { */
+/*     GtkSecureEntry *entry = GTK_SECURE_ENTRY(data); */
 
-    gtk_secure_entry_enter_text(entry, text);
-}
+/*     gtk_secure_entry_enter_text(entry, text); */
+/* } */
 
 /* We display the cursor when
  *
index 7cd7616..1dee0b9 100644 (file)
@@ -145,7 +145,11 @@ ungrab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data)
 {
   gdk_keyboard_ungrab (gdk_event_get_time (event));
   /* Unmake window transient for the root window.  */
-  gdk_window_set_transient_for (win->window, NULL);
+  /* gdk_window_set_transient_for cannot be used with parent = NULL to
+     unset transient hint (unlike gtk_ version which can).  Replacement
+     code is taken from gtk_window_transient_parent_unrealized.  */
+  gdk_property_delete (win->window,
+                       gdk_atom_intern_static_string ("WM_TRANSIENT_FOR"));
 }