X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fhelper.c;h=a68c0c2b80468de894d8b13780d57b0f43ce21ea;hb=df291f0446ae11b5a3c788a06ee73eb9ac877ca5;hp=e6f7c672b0ab7b59d41d8cbe7bc9af19036f3139;hpb=5d1e3437ae5fe29a75c984b9d24b77120a56deb4;p=pspp-builds.git diff --git a/src/ui/gui/helper.c b/src/ui/gui/helper.c index e6f7c672..a68c0c2b 100644 --- a/src/ui/gui/helper.c +++ b/src/ui/gui/helper.c @@ -97,11 +97,8 @@ text_to_value (const gchar *text, } value_init (val, width); - msg_disable (); - data_in (ss_cstr (text), UTF8, format->type, 0, 0, 0, - dict->dict, - val, width); - msg_enable (); + free (data_in (ss_cstr (text), UTF8, format->type, val, width, + dict_get_encoding (dict->dict))); return val; } @@ -132,10 +129,10 @@ get_object_assert (GtkBuilder *builder, const gchar *name, GType type) o = gtk_builder_get_object (builder, name); if ( !o ) - g_critical ("Object \"%s\" could not be found\n", name); + g_critical ("Object `%s' could not be found\n", name); else if ( ! g_type_is_a (G_OBJECT_TYPE (o), type)) { - g_critical ("Object \"%s\" was expected to have type %s, but in fact has type %s", + g_critical ("Object `%s' was expected to have type %s, but in fact has type %s", name, g_type_name (type), G_OBJECT_TYPE_NAME (o)); } @@ -285,11 +282,13 @@ on_delete (GtkWindow *window, GdkEvent *e, GtkWindow **addr) return FALSE; } -void -paste_syntax_in_new_window (const gchar *syntax) +char * +paste_syntax_to_window (gchar *syntax) { static GtkWidget *the_syntax_pasteboard = NULL; + GtkTextBuffer *buffer = NULL; + if ( NULL == the_syntax_pasteboard) { the_syntax_pasteboard = psppire_syntax_window_new (); @@ -297,13 +296,16 @@ paste_syntax_in_new_window (const gchar *syntax) &the_syntax_pasteboard); } - gtk_text_buffer_insert_at_cursor (PSPPIRE_SYNTAX_WINDOW (the_syntax_pasteboard)->buffer, - syntax, -1); + buffer = GTK_TEXT_BUFFER (PSPPIRE_SYNTAX_WINDOW (the_syntax_pasteboard)->buffer); - gtk_text_buffer_insert_at_cursor (PSPPIRE_SYNTAX_WINDOW (the_syntax_pasteboard)->buffer, - "\n", 1); + gtk_text_buffer_begin_user_action (buffer); + gtk_text_buffer_insert_at_cursor (buffer, syntax, -1); + gtk_text_buffer_insert_at_cursor (buffer, "\n", 1); + gtk_text_buffer_end_user_action (buffer); gtk_widget_show (the_syntax_pasteboard); + + return syntax; }