changeset 10844:d1f7821c09f4

[gaim-migrate @ 12516] sf patch #1185455, from Richard Laager "I realize gtk_key_pressed_cb is a work-around hack, but given the stance of supporting GTK+ 2.0, we're going to be stuck with it for a while. There's no need to connect this signal for new versions of GTK+. Also, the logic in the hack is quite weird and there's some dead code. Without looking at CVS logs, I can only assume this is because it went through lots of changes. This patch makes it more clear what's going on and will make it easier to remove this code when GTK+ 2.2 support is eventually deprecated at some point in the distant future." committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 19 Apr 2005 03:40:55 +0000
parents dd7f59f5252d
children 3d7311bde284
files src/gtkimhtml.c
diffstat 1 files changed, 12 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtkimhtml.c	Tue Apr 19 03:31:50 2005 +0000
+++ b/src/gtkimhtml.c	Tue Apr 19 03:40:55 2005 +0000
@@ -521,6 +521,7 @@
 	return FALSE;
 }
 
+#if (!GTK_CHECK_VERSION(2,2,0))
 /*
  * XXX - This should be removed eventually.
  *
@@ -534,30 +535,17 @@
 
 gboolean gtk_key_pressed_cb(GtkIMHtml *imhtml, GdkEventKey *event, gpointer data)
 {
-	char buf[7];
-	buf[0] = '\0';
-
-	if (event->state & GDK_CONTROL_MASK)
+	if (event->state & GDK_CONTROL_MASK) {
 		switch (event->keyval) {
-#if (!GTK_CHECK_VERSION(2,2,0))
-		case 'a':
-			return TRUE;
-			break;
-
-		case GDK_Home:
-			return TRUE;
-			break;
-			
-		case GDK_End:
-			return TRUE;
-			break;
-			
-#endif /* !(GTK+ >= 2.2.0) */
+			case 'a':
+			case GDK_Home:
+			case GDK_End:
+				return TRUE;
 		}
-	
+	}
 	return FALSE;
 }
-
+#endif /* !(GTK+ >= 2.2.0) */
 
 static gint
 gtk_imhtml_expose_event (GtkWidget      *widget,
@@ -568,7 +556,7 @@
 	GdkRectangle visible_rect;
 	GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(event->window));
 	GdkColor gcolor;
-	
+
 	gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(widget), &visible_rect);
 	gtk_text_view_buffer_to_window_coords(GTK_TEXT_VIEW(widget),
 					      GTK_TEXT_WINDOW_TEXT,
@@ -1262,7 +1250,10 @@
 	g_signal_connect(G_OBJECT(imhtml), "size-allocate", G_CALLBACK(gtk_size_allocate_cb), NULL);
 	g_signal_connect(G_OBJECT(imhtml), "motion-notify-event", G_CALLBACK(gtk_motion_event_notify), NULL);
 	g_signal_connect(G_OBJECT(imhtml), "leave-notify-event", G_CALLBACK(gtk_leave_event_notify), NULL);
+#if (!GTK_CHECK_VERSION(2,2,0))
+	/* See the comment for gtk_key_pressed_cb */
 	g_signal_connect(G_OBJECT(imhtml), "key_press_event", G_CALLBACK(gtk_key_pressed_cb), NULL);
+#endif
 	g_signal_connect(G_OBJECT(imhtml), "button_press_event", G_CALLBACK(gtk_imhtml_button_press_event), NULL);
 	g_signal_connect(G_OBJECT(imhtml->text_buffer), "insert-text", G_CALLBACK(preinsert_cb), imhtml);
 	g_signal_connect_after(G_OBJECT(imhtml->text_buffer), "insert-text", G_CALLBACK(insert_cb), imhtml);