X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window.c;h=0a4021f71841585bd02544a07d5103ad32c0a9ee;hb=159abf428abd3028a73d064508fac95e542d9f09;hp=c1784ac1f14d7df9a2e1880b27b971de8dc8e624;hpb=681f6120a7998b83ccd439068d8c4090de10b9b5;p=pspp diff --git a/src/ui/gui/psppire-window.c b/src/ui/gui/psppire-window.c index c1784ac1f1..0a4021f718 100644 --- a/src/ui/gui/psppire-window.c +++ b/src/ui/gui/psppire-window.c @@ -236,6 +236,8 @@ psppire_window_finalize (GObject *object) PsppireWindowRegister *reg = psppire_window_register_new (); + g_signal_handler_disconnect (reg, window->remove_handler); + g_signal_handler_disconnect (reg, window->insert_handler); psppire_window_register_remove (reg, window->list_name); g_free (window->filename); g_free (window->basename); @@ -243,12 +245,6 @@ psppire_window_finalize (GObject *object) g_free (window->description); g_free (window->list_name); - g_signal_handler_disconnect (psppire_window_register_new (), - window->remove_handler); - - g_signal_handler_disconnect (psppire_window_register_new (), - window->insert_handler); - g_hash_table_destroy (window->menuitem_table); if (G_OBJECT_CLASS (parent_class)->finalize) @@ -664,7 +660,7 @@ psppire_window_save_as (PsppireWindow *w) static void delete_recent (const char *file_name); gboolean -psppire_window_load (PsppireWindow *w, const gchar *file) +psppire_window_load (PsppireWindow *w, const gchar *file, gpointer hint) { gboolean ok; PsppireWindowIface *i = PSPPIRE_WINDOW_MODEL_GET_IFACE (w); @@ -675,7 +671,7 @@ psppire_window_load (PsppireWindow *w, const gchar *file) g_return_val_if_fail (i->load, FALSE); - ok = i->load (w, file); + ok = i->load (w, file, hint); if ( ok ) { @@ -808,7 +804,7 @@ psppire_window_open (PsppireWindow *de) gtk_file_chooser_get_extra_widget (GTK_FILE_CHOOSER (dialog))); if (any_reader_may_open (sysname)) - open_data_window (de, name); + open_data_window (de, name, NULL); else open_syntax_window (name, encoding);