Warnings: added cast for enumaration types
[pspp] / src / ui / gui / psppire-window.c
index 7d478a642bfa38d87d807c5a2e3aac490f07f9e6..ca81692305052e2596ddff40bebf4029bb7008ae 100644 (file)
@@ -61,14 +61,15 @@ psppire_window_get_type (void)
       static const GTypeInfo psppire_window_info =
       {
        sizeof (PsppireWindowClass),
-       (GBaseInitFunc) psppire_window_base_init,
+       (GBaseInitFunc) (void (*)(void)) psppire_window_base_init,
         (GBaseFinalizeFunc) NULL,
-       (GClassInitFunc) psppire_window_class_init,
+       (GClassInitFunc) (void (*)(void)) psppire_window_class_init,
        (GClassFinalizeFunc) NULL,
        NULL,
         sizeof (PsppireWindow),
        0,
-       (GInstanceInitFunc) psppire_window_init,
+       (GInstanceInitFunc) (void (*)(void)) psppire_window_init,
+       NULL /* value_table */
       };
 
       psppire_window_type =
@@ -326,6 +327,7 @@ insert_menuitem_into_menu (PsppireWindow *window, gpointer key)
   GtkWidget *item;
   filename = g_filename_display_name (key);
   item = gtk_check_menu_item_new_with_label (filename);
+  g_object_ref_sink (item);
   g_free (filename);
 
   g_hash_table_insert (window->menuitem_table, key, item);
@@ -411,17 +413,19 @@ psppire_window_init (PsppireWindow *window)
   window->list_name = NULL;
   window->edited = NULL;
 
-  window->menuitem_table  = g_hash_table_new (g_str_hash, g_str_equal);
+  window->menuitem_table  = g_hash_table_new_full (g_str_hash, g_str_equal,
+                                                   NULL, g_object_unref);
 
 
   g_signal_connect (window,  "realize", G_CALLBACK (insert_existing_items), NULL);
 
-  window->insert_handler = g_signal_connect (psppire_window_register_new (),
+  PsppireWindowRegister *reg = psppire_window_register_new ();
+  window->insert_handler = g_signal_connect (reg,
                                             "inserted",
                                             G_CALLBACK (insert_menuitem),
                                             window);
 
-  window->remove_handler = g_signal_connect (psppire_window_register_new (),
+  window->remove_handler = g_signal_connect (reg,
                                             "removed",
                                             G_CALLBACK (remove_menuitem),
                                             window);
@@ -562,7 +566,8 @@ psppire_window_model_get_type (void)
        NULL,           /* class_data */
        0,
        0,              /* n_preallocs */
-       NULL
+       NULL,
+       NULL            /* value_table */
       };
 
       window_model_type =