psppire-window: Fix use-after-free error in read_spv_file().
[pspp] / src / ui / gui / helper.h
index 78cd22cfbec2e164e72b358b74fbaa67b267a349..69841a5c491d95b42a504e02d37d6ee54851012b 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2004, 2009, 2010, 2011  Free Software Foundation
+   Copyright (C) 2004, 2009, 2010, 2011, 2012  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,7 +18,6 @@
 #ifndef __MISC_H__
 #define __MISC_H__
 
-#include "relocatable.h"
 
 #include <data/format.h>
 #include <data/value.h>
@@ -27,8 +26,6 @@
 
 #include "psppire-dict.h"
 
-#include "gl/configmake.h"
-
 gchar *paste_syntax_to_window (gchar *syntax);
 
 struct fmt_spec;
@@ -47,35 +44,39 @@ null_if_empty_param (const gchar *name, const gchar *nick,
   return param;
 }
 
+gchar * value_to_text (union value v, const struct variable *);
+gchar * value_to_text__ (union value v, const struct fmt_spec *,
+                         const char *encoding);
 
-/* Formats a value according to FORMAT
-   The returned string must be freed when no longer required */
-gchar * value_to_text (union value v, const PsppireDict *dict, struct fmt_spec format);
-
-
-union value *
-text_to_value (const gchar *text,
-              const struct variable *var,
-              union value *);
-
-GObject *get_object_assert (GtkBuilder *builder, const gchar *name, GType type);
-GtkAction * get_action_assert (GtkBuilder *builder, const gchar *name);
-GtkWidget * get_widget_assert (GtkBuilder *builder, const gchar *name);
-
-gchar * convert_glib_filename_to_system_filename (const gchar *fname,
-                                                 GError **err);
-
-void connect_help (GtkBuilder *);
-
-#define builder_new(NAME) builder_new_real (relocate (PKGDATADIR "/" NAME))
-
-GtkBuilder *builder_new_real (const gchar *name);
 
+union value *text_to_value (const gchar *text, const struct variable *,
+                            union value *);
+union value *text_to_value__ (const gchar *text, const struct fmt_spec *,
+                              const gchar *encoding, union value *);
 
 /* Create a deep copy of SRC */
 GtkListStore * clone_list_store (const GtkListStore *src);
 
-void psppire_box_pack_start_defaults (GtkBox *box, GtkWidget *widget);
+/* gtk_box_pack_start_defaults is deprecated.
+   Therefore we roll our own until a better solution is found */
+static inline void
+psppire_box_pack_start_defaults (GtkBox *box, GtkWidget *widget)
+{
+  gtk_box_pack_start (box, widget, TRUE, TRUE, 0);
+}
+
+/* Starting with gcc8 the warning Wcast-function-type will
+   trigger if no intermediate (void (*)(void)) cast is done
+   for a function cast to GFunc when the number of parameters
+   is not 2. The reason is that the compiler behaviour in this
+   situation is undefined according to C standard although many
+   implementations rely on this. */
+#define GFUNC_COMPAT_CAST(x) ((GFunc) (void (*)(void)) (x))
+
 
+/* Return the width of an upper case M (in pixels) when rendered onto
+   WIDGET with its current style.  */
+gdouble width_of_m (GtkWidget *widget);
 
 #endif
+