After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 172798 - gtk_set_locale is already run by gtk_init and gtk about does not have the gcalctool icon
gtk_set_locale is already run by gtk_init and gtk about does not have the gca...
Status: RESOLVED FIXED
Product: gnome-calculator
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Rich Burridge
Rich Burridge
Depends on:
Blocks:
 
 
Reported: 2005-04-06 12:25 UTC by Kristof Vansant
Modified: 2005-04-06 15:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kristof Vansant 2005-04-06 12:25:36 UTC
Please describe the problem:
Index: gcalctool/gtk.c
===================================================================
RCS file: /cvs/gnome/gcalctool/gcalctool/gtk.c,v
retrieving revision 1.165
diff -u -r1.165 gtk.c
--- gcalctool/gtk.c     31 Mar 2005 18:38:27 -0000      1.165
+++ gcalctool/gtk.c     6 Apr 2005 12:20:55 -0000
@@ -454,7 +454,6 @@
     client = gnome_master_client();
     g_signal_connect(client, "die", G_CALLBACK(die_cb), NULL);
 #else
-    gtk_set_locale();
     gtk_init(&argc, &argv);
 #ifdef WANTED
     add_pixmap_directory(PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
@@ -1232,7 +1231,7 @@
     gtk_widget_show(X->adv_panel);
     gtk_window_add_accel_group(GTK_WINDOW(X->kframe), X->kbd_accel);
     grey_buttons(v->base);
-    gtk_window_set_icon(GTK_WINDOW(X->kframe), X->icon);
+    /*gtk_window_set_icon(GTK_WINDOW(X->kframe), X->icon);*/
     if (v->modetype == BASIC) {
         gtk_window_set_focus(GTK_WINDOW(X->kframe), GTK_WIDGET(BUT_CLR_BAS));
     } else {
@@ -1432,7 +1431,7 @@
     g_object_set_data(G_OBJECT(X->rframe), "rframe", X->rframe);
     gtk_window_set_resizable(GTK_WINDOW(X->rframe), TRUE);
     gtk_window_set_title(GTK_WINDOW(X->rframe), _("Memory Registers"));
-    gtk_window_set_icon(GTK_WINDOW(X->rframe), X->icon);
+    /*gtk_window_set_icon(GTK_WINDOW(X->rframe), X->icon); */

     vbox = gtk_vbox_new(FALSE, 0);
     gtk_container_add(GTK_CONTAINER(X->rframe), vbox);
@@ -2788,6 +2787,7 @@
 {
     X->icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
                                        "gnome-calculator", 48, 0, NULL);
+    gtk_window_set_default_icon(X->icon);
 }


Steps to reproduce:
1. 
2. 
3. 


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Kristof Vansant 2005-04-06 12:43:01 UTC
Index: gcalctool/gtk.c
===================================================================
RCS file: /cvs/gnome/gcalctool/gcalctool/gtk.c,v
retrieving revision 1.165
diff -u -r1.165 gtk.c
--- gcalctool/gtk.c     31 Mar 2005 18:38:27 -0000      1.165
+++ gcalctool/gtk.c     6 Apr 2005 12:42:24 -0000
@@ -92,7 +92,6 @@
     GtkWidget *kframe;                 /* Main window. */
     GtkWidget *kvbox;
     GtkWidget *ktable;
-    GdkPixbuf *icon;                   /* Main window icon. */
     GtkWidget *menubar;
     GtkWidget *mode_panel;

@@ -454,7 +453,6 @@
     client = gnome_master_client();
     g_signal_connect(client, "die", G_CALLBACK(die_cb), NULL);
 #else
-    gtk_set_locale();
     gtk_init(&argc, &argv);
 #ifdef WANTED
     add_pixmap_directory(PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
@@ -518,8 +516,7 @@
                                                "authors", authors,
                                                "documenters", documenters,
                                                "translator-credits",
strcmp(translator_credits, "translator_credits") != 0 ? translator_credits : NULL,
-                                               "logo", X->icon,
-                                                NULL);
+                                               "logo",
GDK_PIXBUF(gtk_window_get_icon (GTK_WINDOW (X->kframe))),                      
                         NULL);

 }

@@ -1232,7 +1229,6 @@
     gtk_widget_show(X->adv_panel);
     gtk_window_add_accel_group(GTK_WINDOW(X->kframe), X->kbd_accel);
     grey_buttons(v->base);
-    gtk_window_set_icon(GTK_WINDOW(X->kframe), X->icon);
     if (v->modetype == BASIC) {
         gtk_window_set_focus(GTK_WINDOW(X->kframe), GTK_WIDGET(BUT_CLR_BAS));
     } else {
@@ -1432,8 +1428,7 @@
     g_object_set_data(G_OBJECT(X->rframe), "rframe", X->rframe);
     gtk_window_set_resizable(GTK_WINDOW(X->rframe), TRUE);
     gtk_window_set_title(GTK_WINDOW(X->rframe), _("Memory Registers"));
-    gtk_window_set_icon(GTK_WINDOW(X->rframe), X->icon);
-
+
     vbox = gtk_vbox_new(FALSE, 0);
     gtk_container_add(GTK_CONTAINER(X->rframe), vbox);
     gtk_widget_realize(X->rframe);
@@ -2786,8 +2781,9 @@
 static void
 set_gcalctool_icon(void)
 {
-    X->icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
+    GdkPixbuf *icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
                                        "gnome-calculator", 48, 0, NULL);
+       gtk_window_set_default_icon(icon);
 }
Comment 2 Kristof Vansant 2005-04-06 14:24:51 UTC
I think this is the cleanest code:

Index: gcalctool/gtk.c
===================================================================
RCS file: /cvs/gnome/gcalctool/gcalctool/gtk.c,v
retrieving revision 1.165
diff -u -r1.165 gtk.c
--- gcalctool/gtk.c     31 Mar 2005 18:38:27 -0000      1.165
+++ gcalctool/gtk.c     6 Apr 2005 14:22:27 -0000
@@ -92,7 +92,6 @@
     GtkWidget *kframe;                 /* Main window. */
     GtkWidget *kvbox;
     GtkWidget *ktable;
-    GdkPixbuf *icon;                   /* Main window icon. */
     GtkWidget *menubar;
     GtkWidget *mode_panel;

@@ -454,7 +453,6 @@
     client = gnome_master_client();
     g_signal_connect(client, "die", G_CALLBACK(die_cb), NULL);
 #else
-    gtk_set_locale();
     gtk_init(&argc, &argv);
 #ifdef WANTED
     add_pixmap_directory(PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
@@ -510,7 +508,7 @@
         };
         const gchar *translator_credits = _("translator_credits");

-        gtk_show_about_dialog(GTK_WINDOW (X->kframe),
+           gtk_show_about_dialog(GTK_WINDOW (X->kframe),
                                                "name",_("Gcalctool"),
                                                "version", VERSION,
                                                "copyright", "(C) 2004 the Free
Software Foundation",
@@ -518,8 +516,8 @@
                                                "authors", authors,
                                                "documenters", documenters,
                                                "translator-credits",
strcmp(translator_credits, "translator_credits") != 0 ? translator_credits : NULL,
-                                               "logo", X->icon,
-                                                NULL);
+                                               "logo-icon-name",
"gnome-calculator",
+                                               NULL);

 }

@@ -1232,7 +1230,6 @@
     gtk_widget_show(X->adv_panel);
     gtk_window_add_accel_group(GTK_WINDOW(X->kframe), X->kbd_accel);
     grey_buttons(v->base);
-    gtk_window_set_icon(GTK_WINDOW(X->kframe), X->icon);
     if (v->modetype == BASIC) {
         gtk_window_set_focus(GTK_WINDOW(X->kframe), GTK_WIDGET(BUT_CLR_BAS));
     } else {
@@ -1432,8 +1429,7 @@
     g_object_set_data(G_OBJECT(X->rframe), "rframe", X->rframe);
     gtk_window_set_resizable(GTK_WINDOW(X->rframe), TRUE);
     gtk_window_set_title(GTK_WINDOW(X->rframe), _("Memory Registers"));
-    gtk_window_set_icon(GTK_WINDOW(X->rframe), X->icon);
-
+
     vbox = gtk_vbox_new(FALSE, 0);
     gtk_container_add(GTK_CONTAINER(X->rframe), vbox);
     gtk_widget_realize(X->rframe);
@@ -2786,8 +2782,7 @@
 static void
 set_gcalctool_icon(void)
 {
-    X->icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(),
-                                       "gnome-calculator", 48, 0, NULL);
+       gtk_window_set_default_icon_name("gnome-calculator");
 }

Comment 3 Rich Burridge 2005-04-06 14:39:23 UTC
Thanks guys! I'll try to get this integrated today.
I agree that the last version is the cleanest.
Comment 4 Rich Burridge 2005-04-06 15:34:39 UTC
Changes checked into CVS HEAD. Version number in
configure.in bumped to 5.6.5.