gedit r6928 - in trunk: . gedit plugins/time
- From: pborelli svn gnome org
- To: svn-commits-list gnome org
- Subject: gedit r6928 - in trunk: . gedit plugins/time
- Date: Sun, 1 Mar 2009 15:26:54 +0000 (UTC)
Author: pborelli
Date: Sun Mar 1 15:26:54 2009
New Revision: 6928
URL: http://svn.gnome.org/viewvc/gedit?rev=6928&view=rev
Log:
2009-03-01 Paolo Borelli <pborelli katamail com>
* gedit/gedit-utils.c: properly handle vararg in error path.
* plugins/time/gedit-time-plugin.c: handle error more correctly.
Modified:
trunk/ChangeLog
trunk/gedit/gedit-utils.c
trunk/plugins/time/gedit-time-plugin.c
Modified: trunk/gedit/gedit-utils.c
==============================================================================
--- trunk/gedit/gedit-utils.c (original)
+++ trunk/gedit/gedit-utils.c Sun Mar 1 15:26:54 2009
@@ -1016,8 +1016,7 @@
}
static GtkWidget *
-handle_builder_error (const gchar *message,
- ...)
+handle_builder_error (const gchar *message, ...)
{
GtkWidget *label;
gchar *msg;
@@ -1025,16 +1024,18 @@
va_list args;
va_start (args, message);
- va_arg (args, const gchar *);
msg_plain = g_strdup_vprintf (message, args);
+ va_end (args);
+
+ label = gtk_label_new (NULL);
+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
msg = g_strconcat ("<span size=\"large\" weight=\"bold\">",
- msg_plain, "</span>\n\n",
- _("Please check your installation."), NULL);
- label = gtk_label_new (msg);
+ msg_plain, "</span>\n\n",
+ _("Please check your installation."),
+ NULL);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_label_set_markup (GTK_LABEL (label), msg);
g_free (msg_plain);
g_free (msg);
Modified: trunk/plugins/time/gedit-time-plugin.c
==============================================================================
--- trunk/plugins/time/gedit-time-plugin.c (original)
+++ trunk/plugins/time/gedit-time-plugin.c Sun Mar 1 15:26:54 2009
@@ -931,6 +931,10 @@
GtkWidget *error_widget;
gboolean ret;
gchar *sf, *cf;
+ GtkWindowGroup *wg = NULL;
+
+ if (parent != NULL)
+ wg = parent->group;
dialog = g_new0 (ChooseFormatDialog, 1);
@@ -952,17 +956,39 @@
if (!ret)
{
- const gchar *err_message;
+ GtkWidget *err_dialog;
- err_message = gtk_label_get_label (GTK_LABEL (error_widget));
- gedit_warning (parent, "%s", err_message);
+ err_dialog = gtk_dialog_new_with_buttons (NULL,
+ parent,
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
+ NULL);
- g_free (dialog);
- gtk_widget_destroy (error_widget);
+ if (wg != NULL)
+ gtk_window_group_add_window (wg, GTK_WINDOW (err_dialog));
+
+ gtk_window_set_resizable (GTK_WINDOW (err_dialog), FALSE);
+ gtk_dialog_set_has_separator (GTK_DIALOG (err_dialog), FALSE);
+ gtk_dialog_set_default_response (GTK_DIALOG (err_dialog), GTK_RESPONSE_OK);
+
+ gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (err_dialog))),
+ error_widget);
+
+ g_signal_connect (G_OBJECT (err_dialog),
+ "response",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+
+ gtk_widget_show_all (err_dialog);
return NULL;
}
+ gtk_window_group_add_window (wg,
+ GTK_WINDOW (dialog->dialog));
+ gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog), parent);
+ gtk_window_set_modal (GTK_WINDOW (dialog->dialog), TRUE);
+
sf = get_selected_format (plugin);
create_formats_list (dialog->list, sf, plugin);
g_free (sf);
@@ -1113,32 +1139,23 @@
}
else
{
- GtkWindowGroup *wg;
ChooseFormatDialog *dialog;
dialog = get_choose_format_dialog (GTK_WINDOW (data->window),
prompt_type,
data->plugin);
- g_return_if_fail (dialog != NULL);
-
- wg = gedit_window_get_group (data->window);
-
- gtk_window_group_add_window (wg,
- GTK_WINDOW (dialog->dialog));
-
- gtk_window_set_transient_for (GTK_WINDOW (dialog->dialog),
- GTK_WINDOW (data->window));
- gtk_window_set_modal (GTK_WINDOW (dialog->dialog), TRUE);
-
- dialog->buffer = buffer;
- dialog->plugin = data->plugin;
+ if (dialog != NULL)
+ {
+ dialog->buffer = buffer;
+ dialog->plugin = data->plugin;
- g_signal_connect (dialog->dialog,
- "response",
- G_CALLBACK (choose_format_dialog_response_cb),
- dialog);
+ g_signal_connect (dialog->dialog,
+ "response",
+ G_CALLBACK (choose_format_dialog_response_cb),
+ dialog);
- gtk_widget_show (GTK_WIDGET (dialog->dialog));
+ gtk_widget_show (GTK_WIDGET (dialog->dialog));
+ }
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]