Commit Diff


commit - 93c7f5eb3650847ec3e93a1f4957af22dc86ebbc
commit + 38d15b1520d11d5640690c7d79c9e94bc7e8cca8
blob - af564def7dc7d30712eccda633208343c721e419
blob + 562b5d00638ff1ff4c786f471c0d3106a50c8884
--- ChangeLog-gtk2.claws
+++ ChangeLog-gtk2.claws
@@ -1,3 +1,10 @@
+2004-08-14 [colin]	0.9.12cvs60.3
+
+	* src/plugins/trayicon/trayicon.c
+		Put back resize callback, on size-request signal
+		rather than size-allocate to avoid infinite 
+		callback loop
+
 2004-08-13 [colin]	0.9.12cvs60.2
 
 	* src/common/defs.h
blob - c18324387efebe32fc77ba2ce4529a5f22431789
blob + 277b8f5a14a311e5766b4c4fd93d90b936a474be
--- PATCHSETS
+++ PATCHSETS
@@ -119,3 +119,4 @@
 ( cvs diff -u -r 1.14.2.8 -r 1.14.2.9 src/plugins/trayicon/trayicon.c; ) > 0.9.12cvs59.1.patchset
 ( cvs diff -u -r 1.3.2.3 -r 1.3.2.4 src/folderutils.c; ) > 0.9.12cvs60.1.patchset
 ( cvs diff -u -r 1.9.2.6 -r 1.9.2.7 src/common/defs.h; ) > 0.9.12cvs60.2.patchset
+( cvs diff -u -r 1.14.2.9 -r 1.14.2.10 src/plugins/trayicon/trayicon.c; ) > 0.9.12cvs60.3.patchset
blob - d5b002f05cd0e605ce5be1495437423193c07ca4
blob + 126d86675b539e62110e48fb5ff69d3774e4651f
--- configure.ac
+++ configure.ac
@@ -13,7 +13,7 @@ INTERFACE_AGE=0
 BINARY_AGE=0
 EXTRA_VERSION=60
 EXTRA_RELEASE=
-EXTRA_GTK2_VERSION=.2
+EXTRA_GTK2_VERSION=.3
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
blob - 84eae360801aa08bc3bfff36d3a3cc436f05589d
blob + d8618157a5d4d20ca5238054209473c09eedfe0b
--- src/plugins/trayicon/trayicon.c
+++ src/plugins/trayicon/trayicon.c
@@ -71,11 +71,12 @@ typedef enum
 	TRAYICON_NOTHING,
 } TrayIconType;
 
-static void trayicon_get_cb	    ( gpointer data, guint action, GtkWidget *widget );
-static void trayicon_get_all_cb	    ( gpointer data, guint action, GtkWidget *widget );
-static void trayicon_compose_cb	    ( gpointer data, guint action, GtkWidget *widget );
-static void trayicon_addressbook_cb ( gpointer data, guint action, GtkWidget *widget );
-static void trayicon_exit_cb	    ( gpointer data, guint action, GtkWidget *widget );
+static void trayicon_get_cb	    (gpointer data, guint action, GtkWidget *widget);
+static void trayicon_get_all_cb	    (gpointer data, guint action, GtkWidget *widget);
+static void trayicon_compose_cb	    (gpointer data, guint action, GtkWidget *widget);
+static void trayicon_addressbook_cb (gpointer data, guint action, GtkWidget *widget);
+static void trayicon_exit_cb	    (gpointer data, guint action, GtkWidget *widget);
+static void resize_cb		    (GtkWidget *widget, GtkRequisition *req, gpointer user_data);
 
 static GtkItemFactoryEntry trayicon_popup_menu_entries[] =
 {
@@ -111,6 +112,7 @@ static void set_trayicon_pixmap(TrayIconType icontype)
 
 	gtk_image_set_from_pixmap(GTK_IMAGE(image), pixmap, bitmap);
 	gtk_widget_shape_combine_mask(GTK_WIDGET(trayicon), bitmap, GTK_WIDGET(image)->allocation.x, GTK_WIDGET(image)->allocation.y);
+
 }
 
 static void update(void)
@@ -134,6 +136,12 @@ static gboolean folder_item_update_hook(gpointer sourc
 	return FALSE;
 }
 
+static void resize_cb(GtkWidget *widget, GtkRequisition *req,
+		      gpointer user_data)
+{
+	update();
+}
+
 static gboolean click_cb(GtkWidget * widget,
 		         GdkEventButton * event, gpointer user_data)
 {
@@ -198,6 +206,8 @@ static void create_trayicon()
 	destroy_signal_id =
 	g_signal_connect(G_OBJECT(trayicon), "destroy",
                      	 G_CALLBACK(destroy_cb), NULL);
+	g_signal_connect(GTK_OBJECT(trayicon), "size-request",
+		    	 G_CALLBACK(resize_cb), NULL);
 	g_signal_connect(G_OBJECT(eventbox), "button-press-event",
 		    	 G_CALLBACK(click_cb), NULL);