comparison pidgin/gtkutils.c @ 16574:814be4aa9dc6

Plug leak.
author Daniel Atallah <daniel.atallah@gmail.com>
date Sat, 28 Apr 2007 06:04:15 +0000
parents 5e47b3427b28
children a86d398435ea
comparison
equal deleted inserted replaced
16572:390987ecddf3 16574:814be4aa9dc6
2858 void *pidgin_make_mini_dialog(PurpleConnection *gc, const char *icon_name, 2858 void *pidgin_make_mini_dialog(PurpleConnection *gc, const char *icon_name,
2859 const char *primary, const char *secondary, 2859 const char *primary, const char *secondary,
2860 void *user_data, ...) 2860 void *user_data, ...)
2861 { 2861 {
2862 GtkWidget *vbox; 2862 GtkWidget *vbox;
2863 GtkWidget *hbox; 2863 GtkWidget *hbox;
2864 GtkWidget *hbox2; 2864 GtkWidget *hbox2;
2865 GtkWidget *label; 2865 GtkWidget *label;
2866 GtkWidget *button; 2866 GtkWidget *button;
2867 GtkWidget *img = NULL; 2867 GtkWidget *img = NULL;
2868 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); 2868 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
2869 char label_text[2048]; 2869 char label_text[2048];
2870 const char *button_text; 2870 const char *button_text;
2871 GCallback callback; 2871 GCallback callback;
2872 char *primary_esc, *secondary_esc; 2872 char *primary_esc, *secondary_esc = NULL;
2873 va_list args; 2873 va_list args;
2874 static gboolean first_call = TRUE; 2874 static gboolean first_call = TRUE;
2875 2875
2876 img = gtk_image_new_from_stock(icon_name, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); 2876 img = gtk_image_new_from_stock(icon_name, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
2877 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 2877 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
2878 2878
2879 vbox = gtk_vbox_new(FALSE,0); 2879 vbox = gtk_vbox_new(FALSE,0);
2880 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BOX_SPACE); 2880 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BOX_SPACE);
2881 2881
2882 g_object_set_data(G_OBJECT(vbox), "gc" ,gc); 2882 g_object_set_data(G_OBJECT(vbox), "gc" ,gc);
2883 minidialogs = g_slist_prepend(minidialogs, vbox); 2883 minidialogs = g_slist_prepend(minidialogs, vbox);
2884 g_signal_connect(G_OBJECT(vbox), "destroy", G_CALLBACK(alert_killed_cb), NULL); 2884 g_signal_connect(G_OBJECT(vbox), "destroy", G_CALLBACK(alert_killed_cb), NULL);
2885 2885
2888 purple_signal_connect(purple_connections_get_handle(), "signed-off", 2888 purple_signal_connect(purple_connections_get_handle(), "signed-off",
2889 pidgin_utils_get_handle(), 2889 pidgin_utils_get_handle(),
2890 PURPLE_CALLBACK(connection_signed_off_cb), NULL); 2890 PURPLE_CALLBACK(connection_signed_off_cb), NULL);
2891 } 2891 }
2892 2892
2893 hbox = gtk_hbox_new(FALSE, 0); 2893 hbox = gtk_hbox_new(FALSE, 0);
2894 gtk_container_add(GTK_CONTAINER(vbox), hbox); 2894 gtk_container_add(GTK_CONTAINER(vbox), hbox);
2895 2895
2896 if (img != NULL) 2896 if (img != NULL)
2897 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 2897 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
2898 2898
2899 primary_esc = g_markup_escape_text(primary, -1); 2899 primary_esc = g_markup_escape_text(primary, -1);
2900 2900
2901 if (secondary) 2901 if (secondary)
2902 secondary_esc = g_markup_escape_text(secondary, -1); 2902 secondary_esc = g_markup_escape_text(secondary, -1);
2903 g_snprintf(label_text, sizeof(label_text), 2903 g_snprintf(label_text, sizeof(label_text),
2904 "<span weight=\"bold\" size=\"smaller\">%s</span>%s<span size=\"smaller\">%s</span>", 2904 "<span weight=\"bold\" size=\"smaller\">%s</span>%s<span size=\"smaller\">%s</span>",
2905 primary_esc, secondary ? "\n" : "", secondary?secondary_esc:""); 2905 primary_esc, secondary ? "\n" : "", secondary_esc ? secondary_esc : "");
2906 g_free(primary_esc); 2906 g_free(primary_esc);
2907 g_free(secondary_esc);
2907 label = gtk_label_new(NULL); 2908 label = gtk_label_new(NULL);
2908 gtk_widget_set_size_request(label, purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/width")-25,-1); 2909 gtk_widget_set_size_request(label, purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/width")-25,-1);
2909 gtk_label_set_markup(GTK_LABEL(label), label_text); 2910 gtk_label_set_markup(GTK_LABEL(label), label_text);
2910 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 2911 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
2911 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 2912 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
2912 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); 2913 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
2913 2914
2914 hbox2 = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 2915 hbox2 = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
2915 gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0); 2916 gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0);
2916 2917
2917 va_start(args, user_data); 2918 va_start(args, user_data);