Fixed many warnings
[pspp] / src / ui / gui / psppire-dict.c
index 16576dc3aa5f80e38b58c8e21f24805b85ba236d..e6291b69c465535ee94434908070a9b78772d031 100644 (file)
@@ -56,7 +56,7 @@ enum  {
 /* --- prototypes --- */
 static void psppire_dict_class_init    (PsppireDictClass       *class);
 static void psppire_dict_init  (PsppireDict            *dict);
-static void psppire_dict_finalize      (GObject                *object);
+static void psppire_dict_dispose       (GObject                *object);
 
 static void dictionary_tree_model_init (GtkTreeModelIface *iface);
 
@@ -115,7 +115,7 @@ psppire_dict_class_init (PsppireDictClass *class)
 
   parent_class = g_type_class_peek_parent (class);
 
-  object_class->finalize = psppire_dict_finalize;
+  object_class->dispose = psppire_dict_dispose;
 
   signals [BACKEND_CHANGED] =
     g_signal_new ("backend-changed",
@@ -129,7 +129,7 @@ psppire_dict_class_init (PsppireDictClass *class)
 
 
   signals [VARIABLE_CHANGED] =
-    g_signal_new ("variable_changed",
+    g_signal_new ("variable-changed",
                  G_TYPE_FROM_CLASS (class),
                  G_SIGNAL_RUN_FIRST,
                  0,
@@ -142,7 +142,7 @@ psppire_dict_class_init (PsppireDictClass *class)
 
 
   signals [VARIABLE_INSERTED] =
-    g_signal_new ("variable_inserted",
+    g_signal_new ("variable-inserted",
                  G_TYPE_FROM_CLASS (class),
                  G_SIGNAL_RUN_FIRST,
                  0,
@@ -227,13 +227,13 @@ psppire_dict_class_init (PsppireDictClass *class)
 }
 
 static void
-psppire_dict_finalize (GObject *object)
+psppire_dict_dispose (GObject *object)
 {
   PsppireDict *d = PSPPIRE_DICT (object);
 
-  dict_destroy (d->dict);
+  dict_set_callbacks (d->dict, NULL, NULL);
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
 /* Pass on callbacks from src/data/dictionary, as
@@ -464,14 +464,17 @@ psppire_dict_set_name (PsppireDict* d, gint idx, const gchar *name)
 
 
 
-/* Return the IDXth variable in D. */
+/* Return the IDXth variable.
+   Will return NULL if IDX  exceeds the number of variables in the dictionary.
+ */
 struct variable *
 psppire_dict_get_variable (const PsppireDict *d, gint idx)
 {
   g_return_val_if_fail (d, NULL);
   g_return_val_if_fail (d->dict, NULL);
-  g_return_val_if_fail (idx < 0, NULL);
-  g_return_val_if_fail (dict_get_var_cnt (d->dict) <= idx, NULL);
+
+  if ( dict_get_var_cnt (d->dict) <= idx )
+    return NULL;
 
   return dict_get_var (d->dict, idx);
 }