[vte] all: Fix compilation with CC=g++



commit 77114e490fd8ca10616292dc36fbcc6ff694091f
Author: Christian Persch <chpe gnome org>
Date:   Mon Mar 30 17:54:33 2015 +0200

    all: Fix compilation with CC=g++
    
    In preparation of moving to C++.

 src/debug.c          |    2 +-
 src/debug.h          |    6 +-
 src/keymap.c         |   32 +++++-----
 src/keymap.h         |    4 +-
 src/pty.c            |   55 ++++++++--------
 src/ring.c           |    8 +-
 src/table.c          |    2 +-
 src/vte-private.h    |   86 ++++++++++++++-----------
 src/vte.c            |  174 +++++++++++++++++++++++++------------------------
 src/vteaccess.c      |   87 ++++++++++++-------------
 src/vtedraw.c        |   12 ++--
 src/vterowdata.c     |    2 +-
 src/vteseq.c         |   26 ++++----
 src/vtestream-base.h |    5 ++
 src/vtestream-file.h |   18 ++++--
 15 files changed, 271 insertions(+), 248 deletions(-)
---
diff --git a/src/debug.c b/src/debug.c
index af2a763..6ed9341 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -21,7 +21,7 @@
 #include <glib.h>
 #include "debug.h"
 
-VteDebugFlags _vte_debug_flags;
+guint _vte_debug_flags;
 
 void
 _vte_debug_init(void)
diff --git a/src/debug.h b/src/debug.h
index 5eea5c1..a8cfbef 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -66,11 +66,11 @@ typedef enum {
 void _vte_debug_init(void);
 const char *_vte_debug_sequence_to_string(const char *str);
 
-extern VteDebugFlags _vte_debug_flags;
-static inline gboolean _vte_debug_on(VteDebugFlags flags) G_GNUC_CONST G_GNUC_UNUSED;
+extern guint _vte_debug_flags;
+static inline gboolean _vte_debug_on(guint flags) G_GNUC_CONST G_GNUC_UNUSED;
 
 static inline gboolean
-_vte_debug_on(VteDebugFlags flags)
+_vte_debug_on(guint flags)
 {
        return (_vte_debug_flags & flags) == flags;
 }
diff --git a/src/keymap.c b/src/keymap.c
index 04604ab..a2df529 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -31,7 +31,7 @@
 #ifdef VTE_DEBUG
 static void
 _vte_keysym_print(guint keyval,
-               GdkModifierType modifiers)
+                  guint modifiers)
 {
        g_printerr("Mapping ");
        if (modifiers & GDK_CONTROL_MASK) {
@@ -51,28 +51,28 @@ _vte_keysym_print(guint keyval,
 #else
 static void
 _vte_keysym_print(guint keyval,
-               GdkModifierType modifiers)
+                  guint modifiers)
 {
 }
 #endif
 
 enum _vte_cursor_mode {
-       cursor_default =        1 << 0,
-       cursor_app =            1 << 1
+       cursor_default =        1u << 0,
+       cursor_app =            1u << 1
 };
 
 enum _vte_keypad_mode {
-       keypad_default =        1 << 0,
-       keypad_app =            1 << 1
+       keypad_default =        1u << 0,
+       keypad_app =            1u << 1
 };
 
 #define cursor_all     (cursor_default | cursor_app)
 #define keypad_all     (keypad_default | keypad_app)
 
 struct _vte_keymap_entry {
-       enum _vte_cursor_mode cursor_mode;
-       enum _vte_keypad_mode keypad_mode;
-       GdkModifierType mod_mask;
+       guint cursor_mode;
+       guint keypad_mode;
+       guint mod_mask;
        const char normal[8];
        gssize normal_length;
 };
@@ -709,7 +709,7 @@ static const struct _vte_keymap_group {
  * a literal string. */
 void
 _vte_keymap_map(guint keyval,
-               GdkModifierType modifiers,
+               guint modifiers,
                gboolean app_cursor_keys,
                gboolean app_keypad_keys,
                char **normal,
@@ -748,7 +748,7 @@ _vte_keymap_map(guint keyval,
        /* Build mode masks. */
        cursor_mode = app_cursor_keys ? cursor_app : cursor_default;
        keypad_mode = app_keypad_keys ? keypad_app : keypad_default;
-       modifiers &= (GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
+       modifiers &= GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK;
 
        /* Search for the conditions. */
        for (i = 0; entries[i].normal_length; i++)
@@ -757,8 +757,8 @@ _vte_keymap_map(guint keyval,
        if ((modifiers & entries[i].mod_mask) == entries[i].mod_mask) {
                 if (entries[i].normal_length != -1) {
                         *normal_length = entries[i].normal_length;
-                        *normal = g_memdup(entries[i].normal,
-                                           entries[i].normal_length);
+                        *normal = (char*)g_memdup(entries[i].normal,
+                                                  entries[i].normal_length);
                 } else {
                         *normal_length = strlen(entries[i].normal);
                         *normal = g_strdup(entries[i].normal);
@@ -931,7 +931,7 @@ is_cursor_key(guint keyval)
 
 void
 _vte_keymap_key_add_key_modifiers(guint keyval,
-                                 GdkModifierType modifiers,
+                                 guint modifiers,
                                  gboolean cursor_app_mode,
                                  char **normal,
                                  gssize *normal_length)
@@ -939,7 +939,7 @@ _vte_keymap_key_add_key_modifiers(guint keyval,
        int modifier, offset;
        char *nnormal;
        enum _vte_modifier_encoding_method modifier_encoding_method;
-       GdkModifierType significant_modifiers;
+       guint significant_modifiers;
 
        significant_modifiers = GDK_SHIFT_MASK |
                                GDK_CONTROL_MASK |
@@ -984,7 +984,7 @@ _vte_keymap_key_add_key_modifiers(guint keyval,
                return;
        }
 
-       nnormal = g_malloc0(*normal_length + 4);
+       nnormal = g_new0(char, *normal_length + 4);
        memcpy(nnormal, *normal, *normal_length);
        if (strlen(nnormal) > 1) {
                /* SS3 should have no modifiers so make it CSI instead. See
diff --git a/src/keymap.h b/src/keymap.h
index 81be996..5b8566b 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -32,7 +32,7 @@ G_BEGIN_DECLS
 /* Map the specified keyval/modifier setup, dependent on the mode, to either
  * a literal string or a capability name. */
 void _vte_keymap_map(guint keyval,
-                    GdkModifierType modifiers,
+                    guint modifiers,
                     gboolean app_cursor_keys,
                     gboolean app_keypad_keys,
                     char **normal,
@@ -43,7 +43,7 @@ gboolean _vte_keymap_key_is_modifier(guint keyval);
 
 /* Add modifiers to the sequence if they're needed. */
 void _vte_keymap_key_add_key_modifiers(guint keyval,
-                                      GdkModifierType modifiers,
+                                      guint modifiers,
                                       gboolean app_cursor_keys,
                                       char **normal,
                                       gssize *normal_length);
diff --git a/src/pty.c b/src/pty.c
index 8670d7a..0e51f6c 100644
--- a/src/pty.c
+++ b/src/pty.c
@@ -181,11 +181,13 @@ _vte_pty_reset_signal_handlers(void)
 
 typedef struct _VtePtyPrivate VtePtyPrivate;
 
+enum TtyOpenMode {
+        TTY_OPEN_BY_NAME,
+        TTY_OPEN_BY_FD
+};
+
 typedef struct {
-       enum {
-               TTY_OPEN_BY_NAME,
-               TTY_OPEN_BY_FD
-       } mode;
+        enum TtyOpenMode mode;
        union {
                const char *name;
                int fd;
@@ -399,7 +401,7 @@ __vte_pty_merge_environ (char **envp,
 
        array = g_ptr_array_sized_new (g_hash_table_size (table) + 1);
         g_hash_table_iter_init(&iter, table);
-        while (g_hash_table_iter_next(&iter, (gpointer) &name, (gpointer) &value)) {
+        while (g_hash_table_iter_next(&iter, (void**) &name, (void**) &value)) {
                 g_ptr_array_add (array, g_strconcat (name, "=", value, NULL));
         }
         g_assert(g_hash_table_size(table) == array->len);
@@ -443,7 +445,7 @@ __vte_pty_spawn (VtePty *pty,
                  const char *directory,
                  char **argv,
                  char **envv,
-                 GSpawnFlags spawn_flags,
+                 GSpawnFlags spawn_flags_,
                  GSpawnChildSetupFunc child_setup,
                  gpointer child_setup_data,
                  GPid *child_pid /* out */,
@@ -451,6 +453,7 @@ __vte_pty_spawn (VtePty *pty,
 {
        VtePtyPrivate *priv = pty->priv;
         VtePtyChildSetupData *data = &priv->child_setup_data;
+        guint spawn_flags = (guint) spawn_flags_;
        gboolean ret = TRUE;
         gboolean inherit_envv;
         char **envp2;
@@ -487,7 +490,7 @@ __vte_pty_spawn (VtePty *pty,
 
         ret = g_spawn_async_with_pipes(directory,
                                        argv, envp2,
-                                       spawn_flags,
+                                       (GSpawnFlags) spawn_flags,
                                        (GSpawnChildSetupFunc) vte_pty_child_setup,
                                        pty,
                                        child_pid,
@@ -500,7 +503,7 @@ __vte_pty_spawn (VtePty *pty,
                 g_clear_error(&err);
                 ret = g_spawn_async_with_pipes(NULL,
                                                argv, envp2,
-                                               spawn_flags,
+                                               (GSpawnFlags) spawn_flags,
                                                (GSpawnChildSetupFunc) vte_pty_child_setup,
                                                pty,
                                                child_pid,
@@ -652,7 +655,7 @@ _vte_pty_ptsname(int master,
        char *buf = NULL;
        int i, errsv;
        do {
-               buf = g_malloc0(len);
+               buf = (char *) g_malloc0(len);
                i = ptsname_r(master, buf, len - 1);
                switch (i) {
                case 0:
@@ -1082,7 +1085,7 @@ vte_pty_set_property (GObject      *object,
 
         switch (property_id) {
         case PROP_FLAGS:
-                priv->flags = g_value_get_flags(value);
+                priv->flags = (VtePtyFlags) g_value_get_flags(value);
                 break;
 
         case PROP_FD:
@@ -1117,9 +1120,9 @@ vte_pty_class_init (VtePtyClass *klass)
                  g_param_spec_flags ("flags", NULL, NULL,
                                      VTE_TYPE_PTY_FLAGS,
                                      VTE_PTY_DEFAULT,
-                                     G_PARAM_READWRITE |
-                                     G_PARAM_CONSTRUCT_ONLY |
-                                     G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                     (GParamFlags) (G_PARAM_READWRITE |
+                                                    G_PARAM_CONSTRUCT_ONLY |
+                                                    G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VtePty:fd:
@@ -1131,9 +1134,9 @@ vte_pty_class_init (VtePtyClass *klass)
                  PROP_FD,
                  g_param_spec_int ("fd", NULL, NULL,
                                    -1, G_MAXINT, -1,
-                                   G_PARAM_READWRITE |
-                                   G_PARAM_CONSTRUCT_ONLY |
-                                   G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                   (GParamFlags) (G_PARAM_READWRITE |
+                                                  G_PARAM_CONSTRUCT_ONLY |
+                                                  G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)));
 }
 
 /* public API */
@@ -1187,11 +1190,11 @@ vte_pty_new_sync (VtePtyFlags flags,
                   GCancellable *cancellable,
                   GError **error)
 {
-        return g_initable_new (VTE_TYPE_PTY,
-                               cancellable,
-                               error,
-                               "flags", flags,
-                               NULL);
+        return (VtePty *) g_initable_new (VTE_TYPE_PTY,
+                                          cancellable,
+                                          error,
+                                          "flags", flags,
+                                          NULL);
 }
 
 /**
@@ -1216,11 +1219,11 @@ vte_pty_new_foreign_sync (int fd,
 {
         g_return_val_if_fail(fd >= 0, NULL);
 
-        return g_initable_new (VTE_TYPE_PTY,
-                               cancellable,
-                               error,
-                               "fd", fd,
-                               NULL);
+        return (VtePty *) g_initable_new (VTE_TYPE_PTY,
+                                          cancellable,
+                                          error,
+                                          "fd", fd,
+                                          NULL);
 }
 
 /**
diff --git a/src/ring.c b/src/ring.c
index bd9191b..9b9f0ab 100644
--- a/src/ring.c
+++ b/src/ring.c
@@ -60,7 +60,7 @@ _vte_ring_init (VteRing *ring, gulong max_rows, gboolean has_streams)
        ring->max = MAX (max_rows, 3);
 
        ring->mask = 31;
-       ring->array = g_malloc0 (sizeof (ring->array[0]) * (ring->mask + 1));
+       ring->array = (VteRowData *) g_malloc0 (sizeof (ring->array[0]) * (ring->mask + 1));
 
        ring->has_streams = has_streams;
        if (has_streams) {
@@ -457,7 +457,7 @@ _vte_ring_ensure_writable_room (VteRing *ring)
 
        _vte_debug_print(VTE_DEBUG_RING, "Enlarging writable array from %lu to %lu\n", old_mask, ring->mask);
 
-       ring->array = g_malloc0 (sizeof (ring->array[0]) * (ring->mask + 1));
+       ring->array = (VteRowData *) g_malloc0 (sizeof (ring->array[0]) * (ring->mask + 1));
 
        new_mask = ring->mask;
        new_array = ring->array;
@@ -852,8 +852,8 @@ _vte_ring_rewrap (VteRing *ring,
           This code requires that the rows are already frozen. */
        while (markers[num_markers] != NULL)
                num_markers++;
-       marker_text_offsets = g_malloc(num_markers * sizeof (marker_text_offsets[0]));
-       new_markers = g_malloc(num_markers * sizeof (new_markers[0]));
+       marker_text_offsets = (VteCellTextOffset *) g_malloc(num_markers * sizeof (marker_text_offsets[0]));
+       new_markers = (VteVisualPosition *) g_malloc(num_markers * sizeof (new_markers[0]));
        for (i = 0; i < num_markers; i++) {
                /* Convert visual column into byte offset */
                if (!_vte_frozen_row_column_to_text_offset(ring, markers[i]->row, markers[i]->col, 
&marker_text_offsets[i]))
diff --git a/src/table.c b/src/table.c
index 820b00c..fe4e8a2 100644
--- a/src/table.c
+++ b/src/table.c
@@ -215,7 +215,7 @@ _vte_table_addi(struct _vte_table *table,
                if (table->original != NULL) {
                        g_free(table->original);
                }
-               table->original = g_memdup(original, original_length);
+               table->original = (unsigned char *) g_memdup(original, original_length);
                table->original_length = original_length;
                return;
        }
diff --git a/src/vte-private.h b/src/vte-private.h
index 103f3f5..6bd8745 100644
--- a/src/vte-private.h
+++ b/src/vte-private.h
@@ -195,6 +195,48 @@ typedef enum _VteCursorStyle {
         VTE_CURSOR_STYLE_STEADY_IBEAM     = 6
 } VteCursorStyle;
 
+typedef struct _vte_incoming_chunk _vte_incoming_chunk_t;
+struct _vte_incoming_chunk{
+        _vte_incoming_chunk_t *next;
+        guint len;
+        guchar data[VTE_INPUT_CHUNK_SIZE - 2 * sizeof(void *)];
+};
+
+struct _VteScreen {
+        VteRing row_data[1];   /* buffer contents */
+        long scroll_delta;     /* scroll offset */
+        long insert_delta;     /* insertion offset */
+
+        /* Stuff saved along with the cursor */
+        struct {
+                VteVisualPosition cursor;
+                gboolean reverse_mode;
+                gboolean origin_mode;
+                gboolean sendrecv_mode;
+                gboolean insert_mode;
+                gboolean linefeed_mode;
+                VteCell defaults;
+                VteCell color_defaults;
+                VteCell fill_defaults;
+                VteCharacterReplacement character_replacements[2];
+                VteCharacterReplacement *character_replacement;
+        } saved;
+};
+
+enum vte_selection_type {
+        selection_type_char,
+        selection_type_word,
+        selection_type_line
+};
+
+struct selection_event_coords {
+        long x, y;
+};
+
+struct vte_scrolling_region {
+        int start, end;
+};
+
 /* Terminal private data. */
 struct _VteTerminalPrivate {
         /* Metric and sizing data: dimensions of the window */
@@ -222,12 +264,7 @@ struct _VteTerminalPrivate {
        const char *encoding;           /* the pty's encoding */
         int utf8_ambiguous_width;
        struct _vte_iso2022_state *iso2022;
-       struct _vte_incoming_chunk{
-               struct _vte_incoming_chunk *next;
-               guint len;
-               guchar data[VTE_INPUT_CHUNK_SIZE
-                       - 2 * sizeof(void *)];
-       } *incoming;                    /* pending bytestream */
+       _vte_incoming_chunk_t *incoming;/* pending bytestream */
        GArray *pending;                /* pending characters */
        GSList *update_regions;
        gboolean invalidated_all;       /* pending refresh of entire terminal */
@@ -244,26 +281,7 @@ struct _VteTerminalPrivate {
 
        /* Screen data.  We support the normal screen, and an alternate
         * screen, which seems to be a DEC-specific feature. */
-       struct _VteScreen {
-               VteRing row_data[1];    /* buffer contents */
-               long scroll_delta;      /* scroll offset */
-               long insert_delta;      /* insertion offset */
-
-                /* Stuff saved along with the cursor */
-                struct {
-                        VteVisualPosition cursor;
-                        gboolean reverse_mode;
-                        gboolean origin_mode;
-                        gboolean sendrecv_mode;
-                        gboolean insert_mode;
-                        gboolean linefeed_mode;
-                        VteCell defaults;
-                        VteCell color_defaults;
-                        VteCell fill_defaults;
-                        VteCharacterReplacement character_replacements[2];
-                        VteCharacterReplacement *character_replacement;
-                } saved;
-       } normal_screen, alternate_screen, *screen;
+       struct _VteScreen normal_screen, alternate_screen, *screen;
 
         /* Values we save along with the cursor */
         VteVisualPosition cursor;      /* relative to the insertion delta */
@@ -299,14 +317,8 @@ struct _VteTerminalPrivate {
        gboolean selecting_had_delta;
        gboolean selection_block_mode;
        char *selection;
-       enum vte_selection_type {
-               selection_type_char,
-               selection_type_word,
-               selection_type_line
-       } selection_type;
-       struct selection_event_coords {
-               long x, y;
-       } selection_origin, selection_last;
+       enum vte_selection_type selection_type;
+       struct selection_event_coords selection_origin, selection_last;
        VteVisualPosition selection_start, selection_end;
 
        /* Miscellaneous options. */
@@ -332,9 +344,7 @@ struct _VteTerminalPrivate {
        long scrollback_lines;
 
         /* Restricted scrolling */
-        struct vte_scrolling_region {
-                int start, end;
-        } scrolling_region;     /* the region we scroll in */
+        struct vte_scrolling_region scrolling_region;     /* the region we scroll in */
         gboolean scrolling_restricted;
 
        /* Cursor shape, as set via API */
@@ -441,7 +451,7 @@ struct _VteTerminalPrivate {
         gdouble background_alpha;
 
        /* Key modifiers. */
-       GdkModifierType modifiers;
+       guint modifiers;
 
        /* Obscured? state. */
        GdkVisibilityState visibility_state;
diff --git a/src/vte.c b/src/vte.c
index 1d2b244..8f43203 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -816,7 +816,7 @@ vte_terminal_emit_commit(VteTerminal *terminal, const gchar *text, gssize length
                length = strlen(text);
                result = text;
        } else {
-               result = wrapped = g_slice_alloc(length + 1);
+               result = wrapped = (char *) g_slice_alloc(length + 1);
                memcpy(wrapped, text, length);
                wrapped[length] = '\0';
        }
@@ -1163,7 +1163,7 @@ vte_terminal_set_cursor_from_regex_match(VteTerminal *terminal, struct vte_match
                 case VTE_REGEX_CURSOR_GDKCURSOR:
                         if (regex->cursor.cursor != NULL &&
                             gdk_cursor_get_display(regex->cursor.cursor) == 
gtk_widget_get_display(&terminal->widget)) {
-                                cursor = g_object_ref(regex->cursor.cursor);
+                                cursor = (GdkCursor *)g_object_ref(regex->cursor.cursor);
                         }
                         break;
                 case VTE_REGEX_CURSOR_GDKCURSORTYPE:
@@ -1326,7 +1326,7 @@ vte_terminal_match_set_cursor(VteTerminal *terminal, int tag, GdkCursor *cursor)
                               tag);
         regex_match_clear_cursor(regex);
         regex->cursor_mode = VTE_REGEX_CURSOR_GDKCURSOR;
-       regex->cursor.cursor = cursor ? g_object_ref(cursor) : NULL;
+       regex->cursor.cursor = cursor ? (GdkCursor *)g_object_ref(cursor) : NULL;
        vte_terminal_match_hilite_clear(terminal);
 }
 
@@ -2240,7 +2240,7 @@ _vte_terminal_set_pointer_visible(VteTerminal *terminal, gboolean visible)
 GtkWidget *
 vte_terminal_new(void)
 {
-       return g_object_new(VTE_TYPE_TERMINAL, NULL);
+       return (GtkWidget *)g_object_new(VTE_TYPE_TERMINAL, NULL);
 }
 
 /*
@@ -2899,8 +2899,8 @@ _vte_terminal_cleanup_fragments(VteTerminal *terminal,
                 } while (cell_col->attr.fragment);
                 if (cell_col->c == '\t') {
                         _vte_debug_print(VTE_DEBUG_MISC,
-                                         "Replacing right part of TAB with a shorter one at %ld (%d cells) 
=> %ld (%ld cells)\n",
-                                         col, cell_col->attr.columns, end, cell_col->attr.columns - (end - 
col));
+                                         "Replacing right part of TAB with a shorter one at %ld (%ld cells) 
=> %ld (%ld cells)\n",
+                                         col, (long) cell_col->attr.columns, end, (long) 
cell_col->attr.columns - (end - col));
                         cell_end->c = '\t';
                         cell_end->attr.fragment = 0;
                         g_assert(cell_col->attr.columns > end - col);
@@ -2931,8 +2931,8 @@ _vte_terminal_cleanup_fragments(VteTerminal *terminal,
                         if (!cell_col->attr.fragment) {
                                 if (cell_col->c == '\t') {
                                         _vte_debug_print(VTE_DEBUG_MISC,
-                                                         "Replacing left part of TAB with spaces at %ld (%d 
=> %ld cells)\n",
-                                                         col, cell_col->attr.columns, start - col);
+                                                         "Replacing left part of TAB with spaces at %ld (%ld 
=> %ld cells)\n",
+                                                         col, (long)cell_col->attr.columns, start - col);
                                         /* nothing to do here */
                                 } else {
                                         _vte_debug_print(VTE_DEBUG_MISC,
@@ -3161,8 +3161,8 @@ _vte_terminal_insert_char(VteTerminal *terminal, gunichar c,
        _vte_debug_print(VTE_DEBUG_PARSE,
                        "Inserting %ld '%c' (%d/%d) (%ld+%d, %ld), delta = %ld; ",
                        (long)c, c < 256 ? c : ' ',
-                        terminal->pvt->color_defaults.attr.fore,
-                        terminal->pvt->color_defaults.attr.back,
+                         (int)terminal->pvt->color_defaults.attr.fore,
+                         (int)terminal->pvt->color_defaults.attr.back,
                         col, columns, (long)terminal->pvt->cursor.row,
                        (long)screen->insert_delta);
 
@@ -3356,7 +3356,7 @@ _vte_terminal_connect_pty_read(VteTerminal *terminal)
                terminal->pvt->pty_input_source =
                        g_io_add_watch_full(terminal->pvt->pty_channel,
                                            VTE_CHILD_INPUT_PRIORITY,
-                                           G_IO_IN | G_IO_HUP,
+                                           (GIOCondition)(G_IO_IN | G_IO_HUP),
                                            (GIOFunc) vte_terminal_io_read,
                                            terminal,
                                            (GDestroyNotify) mark_input_source_invalid);
@@ -3586,13 +3586,14 @@ vte_terminal_spawn_sync(VteTerminal *terminal,
                                const char *working_directory,
                                char **argv,
                                char **envv,
-                               GSpawnFlags spawn_flags,
+                               GSpawnFlags spawn_flags_,
                                GSpawnChildSetupFunc child_setup,
                                gpointer child_setup_data,
                                GPid *child_pid /* out */,
                                GCancellable *cancellable,
                                GError **error)
 {
+        guint spawn_flags = (guint)spawn_flags_;
         VtePty *pty;
         GPid pid;
 
@@ -3612,7 +3613,7 @@ vte_terminal_spawn_sync(VteTerminal *terminal,
                              working_directory,
                              argv,
                              envv,
-                             spawn_flags,
+                             (GSpawnFlags)spawn_flags,
                              child_setup, child_setup_data,
                              &pid,
                              error)) {
@@ -4121,7 +4122,7 @@ _vte_terminal_enable_input_source (VteTerminal *terminal)
                terminal->pvt->pty_input_source =
                        g_io_add_watch_full(terminal->pvt->pty_channel,
                                            VTE_CHILD_INPUT_PRIORITY,
-                                           G_IO_IN | G_IO_HUP,
+                                           (GIOCondition)(G_IO_IN | G_IO_HUP),
                                            (GIOFunc) vte_terminal_io_read,
                                            terminal,
                                            (GDestroyNotify) mark_input_source_invalid);
@@ -4391,7 +4392,7 @@ vte_terminal_send(VteTerminal *terminal, const char *encoding,
        }
 
        icount = length;
-       ibuf =  data;
+       ibuf = (const guchar *)data;
        ocount = ((length + 1) * VTE_UTF8_BPC) + 1;
        _vte_byte_array_set_minimum_size(terminal->pvt->conv_buffer, ocount);
        obuf = obufptr = terminal->pvt->conv_buffer->data;
@@ -4413,7 +4414,7 @@ vte_terminal_send(VteTerminal *terminal, const char *encoding,
                        }
                }
                if (crcount > 0) {
-                       cooked = g_malloc(obuf - obufptr + crcount);
+                       cooked = (char *)g_malloc(obuf - obufptr + crcount);
                        cooked_length = 0;
                        for (i = 0; i < obuf - obufptr; i++) {
                                switch (obufptr[i]) {
@@ -4733,9 +4734,10 @@ vte_translate_ctrlkey (GdkEventKey *event)
                GdkModifierType consumed_modifiers;
 
                gdk_keymap_translate_keyboard_state (keymap,
-                               event->hardware_keycode, event->state,
-                               i,
-                               &keyval, NULL, NULL, &consumed_modifiers);
+                                                     event->hardware_keycode,
+                                                     (GdkModifierType)event->state,
+                                                     i,
+                                                     &keyval, NULL, NULL, &consumed_modifiers);
                if (keyval < 128) {
                        _vte_debug_print (VTE_DEBUG_EVENTS,
                                        "ctrl+Key, group=%d de-grouped into keyval=0x%x\n",
@@ -4752,16 +4754,18 @@ vte_terminal_read_modifiers (VteTerminal *terminal,
                             GdkEvent *event)
 {
         GdkKeymap *keymap;
-       GdkModifierType modifiers;
+       GdkModifierType mods;
+        guint modifiers;
 
        /* Read the modifiers. */
-       if (!gdk_event_get_state((GdkEvent*)event, &modifiers))
+       if (!gdk_event_get_state((GdkEvent*)event, &mods))
                 return;
 
         keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
 
-        gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
+        gdk_keymap_add_virtual_modifiers (keymap, &mods);
 
+        modifiers = (guint)mods;
 #if 1
         /* HACK! Treat ALT as META; see bug #663779. */
         if (modifiers & GDK_MOD1_MASK)
@@ -4776,8 +4780,8 @@ static gint
 vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 {
        VteTerminal *terminal;
-       GdkModifierType modifiers;
-       char *normal = NULL, *output;
+       guint modifiers;
+       char *normal = NULL;
        gssize normal_length = 0;
        int i;
        struct termios tio;
@@ -5164,7 +5168,7 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
                                normal_length = g_unichar_to_utf8(keychar,
                                                                  keybuf);
                                if (normal_length != 0) {
-                                       normal = g_malloc(normal_length + 1);
+                                       normal = (char *)g_malloc(normal_length + 1);
                                        memcpy(normal, keybuf, normal_length);
                                        normal[normal_length] = '\0';
                                } else {
@@ -5440,10 +5444,10 @@ vte_cell_is_selected(VteTerminal *terminal, glong col, glong row, gpointer data)
 static void
 vte_terminal_paste_cb(GtkClipboard *clipboard, const gchar *text, gpointer data)
 {
-       VteTerminal *terminal;
+       VteTerminal *terminal = (VteTerminal *)data;
        gchar *paste, *p;
-       long length;
-       terminal = data;
+       gsize length;
+
        if (text != NULL) {
                _vte_debug_print(VTE_DEBUG_SELECTION,
                                "Pasting %"G_GSIZE_FORMAT" UTF-8 bytes.\n",
@@ -5458,8 +5462,8 @@ vte_terminal_paste_cb(GtkClipboard *clipboard, const gchar *text, gpointer data)
                paste = g_strdup(text);
                length = strlen(paste);
                p = paste;
-               while ((p != NULL) && (p - paste < length)) {
-                       p = memchr(p, '\n', length - (p - paste));
+               while ((p != NULL) && ((gsize)(p - paste) < length)) {
+                       p = (char *)memchr(p, '\n', length - (gsize)(p - paste));
                        if (p != NULL) {
                                *p = '\r';
                                p++;
@@ -5948,8 +5952,8 @@ vte_terminal_match_hilite(VteTerminal *terminal, long x, long y)
 static void
 vte_terminal_clear_cb(GtkClipboard *clipboard, gpointer owner)
 {
-       VteTerminal *terminal;
-       terminal = owner;
+       VteTerminal *terminal = (VteTerminal *)owner;
+
        if (terminal->pvt->has_selection) {
                _vte_debug_print(VTE_DEBUG_SELECTION, "Lost selection.\n");
                vte_terminal_deselect_all(terminal);
@@ -5961,8 +5965,8 @@ static void
 vte_terminal_copy_cb(GtkClipboard *clipboard, GtkSelectionData *data,
                     guint info, gpointer owner)
 {
-       VteTerminal *terminal;
-       terminal = owner;
+       VteTerminal *terminal = (VteTerminal *)owner;
+
        if (terminal->pvt->selection != NULL) {
                _VTE_DEBUG_IF(VTE_DEBUG_SELECTION) {
                        int i;
@@ -8029,7 +8033,7 @@ vte_terminal_set_hadjustment(VteTerminal *terminal,
   if (pvt->hadjustment)
     g_object_unref (pvt->hadjustment);
 
-  pvt->hadjustment = adjustment ? g_object_ref_sink (adjustment) : NULL;
+  pvt->hadjustment = adjustment ? (GtkAdjustment *)g_object_ref_sink (adjustment) : NULL;
 }
 
 static void
@@ -8052,7 +8056,7 @@ vte_terminal_set_vadjustment(VteTerminal *terminal,
        if (terminal->pvt->vadjustment != NULL) {
                /* Disconnect our signal handlers from this object. */
                g_signal_handlers_disconnect_by_func(terminal->pvt->vadjustment,
-                                                    vte_terminal_handle_scroll,
+                                                    (void*)vte_terminal_handle_scroll,
                                                     terminal);
                g_object_unref(terminal->pvt->vadjustment);
        }
@@ -8393,7 +8397,7 @@ vte_terminal_unrealize(GtkWidget *widget)
        /* Shut down input methods. */
        if (terminal->pvt->im_context != NULL) {
                g_signal_handlers_disconnect_by_func (terminal->pvt->im_context,
-                                                     vte_terminal_im_preedit_changed,
+                                                     (void *)vte_terminal_im_preedit_changed,
                                                      terminal);
                vte_terminal_im_reset(terminal);
                gtk_im_context_set_client_window(terminal->pvt->im_context,
@@ -9070,7 +9074,7 @@ _vte_terminal_fudge_pango_colors(VteTerminal *terminal, GSList *attributes,
        }
 
        while (attributes != NULL) {
-               PangoAttribute *attr = attributes->data;
+               PangoAttribute *attr = (PangoAttribute *)attributes->data;
                PangoAttrColor *color;
                switch (attr->klass->type) {
                case PANGO_ATTR_FOREGROUND:
@@ -9188,7 +9192,7 @@ _vte_terminal_apply_pango_attr(VteTerminal *terminal, PangoAttribute *attr,
 static void
 _vte_terminal_pango_attribute_destroy(gpointer attr, gpointer data)
 {
-       pango_attribute_destroy(attr);
+       pango_attribute_destroy((PangoAttribute *)attr);
 }
 static void
 _vte_terminal_translate_pango_cells(VteTerminal *terminal, PangoAttrList *attrs,
@@ -9211,13 +9215,13 @@ _vte_terminal_translate_pango_cells(VteTerminal *terminal, PangoAttrList *attrs,
                                for (listiter = list;
                                     listiter != NULL;
                                     listiter = g_slist_next(listiter)) {
-                                       attr = listiter->data;
+                                       attr = (PangoAttribute *)listiter->data;
                                        _vte_terminal_apply_pango_attr(terminal,
                                                                       attr,
                                                                       cells,
                                                                       n_cells);
                                }
-                               attr = list->data;
+                               attr = (PangoAttribute *)list->data;
                                _vte_terminal_fudge_pango_colors(terminal,
                                                                 list,
                                                                 cells +
@@ -10230,10 +10234,10 @@ vte_terminal_set_property (GObject *object,
        switch (prop_id)
        {
                 case PROP_HADJUSTMENT:
-                        vte_terminal_set_hadjustment (terminal, g_value_get_object (value));
+                        vte_terminal_set_hadjustment (terminal, (GtkAdjustment *)g_value_get_object (value));
                         break;
                 case PROP_VADJUSTMENT:
-                        vte_terminal_set_vadjustment (terminal, g_value_get_object (value));
+                        vte_terminal_set_vadjustment (terminal, (GtkAdjustment *)g_value_get_object (value));
                         break;
                 case PROP_HSCROLL_POLICY:
                         pvt->hscroll_policy = g_value_get_enum (value);
@@ -10250,25 +10254,25 @@ vte_terminal_set_property (GObject *object,
                         vte_terminal_set_audible_bell (terminal, g_value_get_boolean (value));
                         break;
                 case PROP_BACKSPACE_BINDING:
-                        vte_terminal_set_backspace_binding (terminal, g_value_get_enum (value));
+                        vte_terminal_set_backspace_binding (terminal, (VteEraseBinding)g_value_get_enum 
(value));
                         break;
                 case PROP_CJK_AMBIGUOUS_WIDTH:
                         vte_terminal_set_cjk_ambiguous_width (terminal, g_value_get_int (value));
                         break;
                 case PROP_CURSOR_BLINK_MODE:
-                        vte_terminal_set_cursor_blink_mode (terminal, g_value_get_enum (value));
+                        vte_terminal_set_cursor_blink_mode (terminal, (VteCursorBlinkMode)g_value_get_enum 
(value));
                         break;
                 case PROP_CURSOR_SHAPE:
-                        vte_terminal_set_cursor_shape (terminal, g_value_get_enum (value));
+                        vte_terminal_set_cursor_shape (terminal, (VteCursorShape)g_value_get_enum (value));
                         break;
                 case PROP_DELETE_BINDING:
-                        vte_terminal_set_delete_binding (terminal, g_value_get_enum (value));
+                        vte_terminal_set_delete_binding (terminal, (VteEraseBinding)g_value_get_enum 
(value));
                         break;
                 case PROP_ENCODING:
                         vte_terminal_set_encoding (terminal, g_value_get_string (value), NULL);
                         break;
                 case PROP_FONT_DESC:
-                        vte_terminal_set_font (terminal, g_value_get_boxed (value));
+                        vte_terminal_set_font (terminal, (PangoFontDescription *)g_value_get_boxed (value));
                         break;
                 case PROP_FONT_SCALE:
                         vte_terminal_set_font_scale (terminal, g_value_get_double (value));
@@ -10280,7 +10284,7 @@ vte_terminal_set_property (GObject *object,
                         vte_terminal_set_mouse_autohide (terminal, g_value_get_boolean (value));
                         break;
                 case PROP_PTY:
-                        vte_terminal_set_pty (terminal, g_value_get_object (value));
+                        vte_terminal_set_pty (terminal, (VtePty *)g_value_get_object (value));
                         break;
                 case PROP_REWRAP_ON_RESIZE:
                         vte_terminal_set_rewrap_on_resize (terminal, g_value_get_boolean (value));
@@ -10864,7 +10868,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
        signals[COPY_CLIPBOARD] =
                 g_signal_new(I_("copy-clipboard"),
                             G_OBJECT_CLASS_TYPE(klass),
-                            G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+                            (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
                             G_STRUCT_OFFSET(VteTerminalClass, copy_clipboard),
                             NULL,
                             NULL,
@@ -10880,7 +10884,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
        signals[PASTE_CLIPBOARD] =
                 g_signal_new(I_("paste-clipboard"),
                             G_OBJECT_CLASS_TYPE(klass),
-                            G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+                            (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
                             G_STRUCT_OFFSET(VteTerminalClass, paste_clipboard),
                             NULL,
                             NULL,
@@ -10915,7 +10919,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_ALLOW_BOLD,
                  g_param_spec_boolean ("allow-bold", NULL, NULL,
                                        TRUE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:audible-bell:
@@ -10928,7 +10932,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_AUDIBLE_BELL,
                  g_param_spec_boolean ("audible-bell", NULL, NULL,
                                        TRUE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:backspace-binding:
@@ -10942,7 +10946,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  g_param_spec_enum ("backspace-binding", NULL, NULL,
                                     VTE_TYPE_ERASE_BINDING,
                                     VTE_ERASE_AUTO,
-                                    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                    (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:cjk-ambiguous-width:
@@ -10959,7 +10963,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_CJK_AMBIGUOUS_WIDTH,
                  g_param_spec_int ("cjk-ambiguous-width", NULL, NULL,
                                    1, 2, VTE_DEFAULT_UTF8_AMBIGUOUS_WIDTH,
-                                    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                   (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:cursor-blink-mode:
@@ -10973,7 +10977,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  g_param_spec_enum ("cursor-blink-mode", NULL, NULL,
                                     VTE_TYPE_CURSOR_BLINK_MODE,
                                     VTE_CURSOR_BLINK_SYSTEM,
-                                    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                    (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:cursor-shape:
@@ -10986,7 +10990,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  g_param_spec_enum ("cursor-shape", NULL, NULL,
                                     VTE_TYPE_CURSOR_SHAPE,
                                     VTE_CURSOR_SHAPE_BLOCK,
-                                    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                    (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:delete-binding:
@@ -11000,7 +11004,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  g_param_spec_enum ("delete-binding", NULL, NULL,
                                     VTE_TYPE_ERASE_BINDING,
                                     VTE_ERASE_AUTO,
-                                    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                    (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:font-scale:
@@ -11014,7 +11018,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                                       VTE_FONT_SCALE_MIN,
                                       VTE_FONT_SCALE_MAX,
                                       1.,
-                                      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:encoding:
@@ -11029,7 +11033,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_ENCODING,
                  g_param_spec_string ("encoding", NULL, NULL,
                                       NULL,
-                                      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:font-desc:
@@ -11045,7 +11049,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_FONT_DESC,
                  g_param_spec_boxed ("font-desc", NULL, NULL,
                                      PANGO_TYPE_FONT_DESCRIPTION,
-                                     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                     (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:icon-title:
@@ -11057,7 +11061,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_ICON_TITLE,
                  g_param_spec_string ("icon-title", NULL, NULL,
                                       NULL,
-                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:input-enabled:
@@ -11071,7 +11075,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_INPUT_ENABLED,
                  g_param_spec_boolean ("input-enabled", NULL, NULL,
                                        TRUE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:pointer-autohide:
@@ -11085,7 +11089,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_MOUSE_POINTER_AUTOHIDE,
                  g_param_spec_boolean ("pointer-autohide", NULL, NULL,
                                        FALSE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:pty:
@@ -11097,8 +11101,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_PTY,
                  g_param_spec_object ("pty", NULL, NULL,
                                       VTE_TYPE_PTY,
-                                      G_PARAM_READWRITE |
-                                      G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:rewrap-on-resize:
@@ -11111,7 +11114,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_REWRAP_ON_RESIZE,
                  g_param_spec_boolean ("rewrap-on-resize", NULL, NULL,
                                        TRUE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:scrollback-lines:
@@ -11129,7 +11132,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  g_param_spec_uint ("scrollback-lines", NULL, NULL,
                                     0, G_MAXUINT,
                                     VTE_SCROLLBACK_INIT,
-                                    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                    (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:scroll-on-keystroke:
@@ -11143,7 +11146,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_SCROLL_ON_KEYSTROKE,
                  g_param_spec_boolean ("scroll-on-keystroke", NULL, NULL,
                                        FALSE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:scroll-on-output:
@@ -11156,7 +11159,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_SCROLL_ON_OUTPUT,
                  g_param_spec_boolean ("scroll-on-output", NULL, NULL,
                                        TRUE,
-                                       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY));
+                                       (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
      
         /**
          * VteTerminal:window-title:
@@ -11168,7 +11171,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_WINDOW_TITLE,
                  g_param_spec_string ("window-title", NULL, NULL,
                                       NULL,
-                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:current-directory-uri:
@@ -11180,7 +11183,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_CURRENT_DIRECTORY_URI,
                  g_param_spec_string ("current-directory-uri", NULL, NULL,
                                       NULL,
-                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:current-file-uri:
@@ -11192,7 +11195,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_CURRENT_FILE_URI,
                  g_param_spec_string ("current-file-uri", NULL, NULL,
                                       NULL,
-                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
         /**
          * VteTerminal:word-char-exceptions:
@@ -11210,7 +11213,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
                  PROP_WORD_CHAR_EXCEPTIONS,
                  g_param_spec_string ("word-char-exceptions", NULL, NULL,
                                       NULL,
-                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY));
+                                      (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | 
G_PARAM_EXPLICIT_NOTIFY)));
 
        /* Disable GtkWidget's keybindings except for Shift-F10 and MenuKey
          * which pop up the context menu.
@@ -12217,7 +12220,7 @@ vte_terminal_set_pty(VteTerminal *terminal,
                 return;
         }
 
-        pvt->pty = g_object_ref(pty);
+        pvt->pty = (VtePty *)g_object_ref(pty);
         pty_master = vte_pty_get_fd(pvt->pty);
 
         pvt->pty_channel = g_io_channel_unix_new (pty_master);
@@ -12600,7 +12603,7 @@ process_timeout (gpointer data)
                        g_list_length (active_terminals));
 
        for (l = active_terminals; l != NULL; l = next) {
-               VteTerminal *terminal = l->data;
+               VteTerminal *terminal = (VteTerminal *)l->data;
                gboolean active = FALSE;
 
                next = g_list_next (l);
@@ -12693,11 +12696,12 @@ update_regions (VteTerminal *terminal)
                /* amalgamate into one super-region */
                region = cairo_region_create ();
                do {
-                       cairo_region_union (region, l->data);
-                       cairo_region_destroy (l->data);
+                        cairo_region_t *r = (cairo_region_t *)l->data;
+                       cairo_region_union (region, r);
+                       cairo_region_destroy (r);
                } while ((l = g_slist_next (l)) != NULL);
        } else {
-               region = l->data;
+               region = (cairo_region_t *)l->data;
        }
        g_slist_free (terminal->pvt->update_regions);
        terminal->pvt->update_regions = NULL;
@@ -12732,7 +12736,7 @@ update_repeat_timeout (gpointer data)
                        g_list_length (active_terminals));
 
        for (l = active_terminals; l != NULL; l = next) {
-               VteTerminal *terminal = l->data;
+               VteTerminal *terminal = (VteTerminal *)l->data;
 
                next = g_list_next (l);
 
@@ -12845,7 +12849,7 @@ update_timeout (gpointer data)
        }
 
        for (l = active_terminals; l != NULL; l = next) {
-               VteTerminal *terminal = l->data;
+               VteTerminal *terminal = (VteTerminal *)l->data;
 
                next = g_list_next (l);
 
@@ -13039,7 +13043,7 @@ vte_terminal_search_rows (VteTerminal *terminal,
        row_text = vte_terminal_get_text_range (terminal, start_row, 0, end_row, -1, NULL, NULL, NULL);
 
        g_regex_match_full (pvt->search_regex, row_text, -1, 0,
-                            pvt->search_match_flags | G_REGEX_MATCH_NOTEMPTY,
+                            (GRegexMatchFlags)(pvt->search_match_flags | G_REGEX_MATCH_NOTEMPTY),
                             &match_info, &error);
        if (error) {
                g_printerr ("Error while matching: %s\n", error->message);
@@ -13305,9 +13309,9 @@ vte_terminal_set_geometry_hints_for_window(VteTerminal *terminal,
         gtk_window_set_geometry_hints(window,
                                       &terminal->widget,
                                       &hints,
-                                      GDK_HINT_RESIZE_INC |
-                                      GDK_HINT_MIN_SIZE |
-                                      GDK_HINT_BASE_SIZE);
+                                      (GdkWindowHints)(GDK_HINT_RESIZE_INC |
+                                                       GDK_HINT_MIN_SIZE |
+                                                       GDK_HINT_BASE_SIZE));
 }
 
 /**
diff --git a/src/vteaccess.c b/src/vteaccess.c
index 41d4cf1..6eafd3c 100644
--- a/src/vteaccess.c
+++ b/src/vteaccess.c
@@ -203,7 +203,7 @@ vte_terminal_accessible_update_private_data_if_needed(VteTerminalAccessible *acc
                                                       GString **old_text,
                                                       GArray **old_characters)
 {
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
         VteTerminal *terminal;
        struct _VteCharAttributes attrs;
        char *next, *tmp;
@@ -378,7 +378,7 @@ vte_terminal_accessible_update_private_data_if_needed(VteTerminalAccessible *acc
 static void
 vte_terminal_accessible_maybe_emit_text_caret_moved(VteTerminalAccessible *accessible)
 {
-        VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+        VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
 
         if (priv->text_caret_moved_pending) {
                 emit_text_caret_moved(G_OBJECT(accessible), priv->snapshot_caret);
@@ -390,8 +390,8 @@ vte_terminal_accessible_maybe_emit_text_caret_moved(VteTerminalAccessible *acces
 static void
 vte_terminal_accessible_text_modified(VteTerminal *terminal, gpointer data)
 {
-        VteTerminalAccessible *accessible = data;
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+        VteTerminalAccessible *accessible = (VteTerminalAccessible *)data;
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
         GString *old_text;
         GArray *old_characters;
        char *old, *current;
@@ -503,8 +503,8 @@ vte_terminal_accessible_text_scrolled(VteTerminal *terminal,
                                      gint howmuch,
                                      gpointer data)
 {
-        VteTerminalAccessible *accessible = data;
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+        VteTerminalAccessible *accessible = (VteTerminalAccessible *)data;
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        struct _VteCharAttributes attr;
        long delta, row_count;
        guint i, len;
@@ -646,8 +646,8 @@ vte_terminal_accessible_text_scrolled(VteTerminal *terminal,
 static void
 vte_terminal_accessible_invalidate_cursor(VteTerminal *terminal, gpointer data)
 {
-        VteTerminalAccessible *accessible = data;
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+        VteTerminalAccessible *accessible = (VteTerminalAccessible *)data;
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
 
        _vte_debug_print(VTE_DEBUG_ALLY,
                        "Invalidating accessibility cursor.\n");
@@ -661,7 +661,7 @@ vte_terminal_accessible_invalidate_cursor(VteTerminal *terminal, gpointer data)
 static void
 vte_terminal_accessible_title_changed(VteTerminal *terminal, gpointer data)
 {
-        VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(data);
+        VteTerminalAccessible *accessible = (VteTerminalAccessible *)data;
 
        atk_object_set_description(ATK_OBJECT(accessible), vte_terminal_get_window_title(terminal));
 }
@@ -672,7 +672,7 @@ vte_terminal_accessible_visibility_notify(VteTerminal *terminal,
                                          GdkEventVisibility *event,
                                          gpointer data)
 {
-        VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(data);
+        VteTerminalAccessible *accessible = (VteTerminalAccessible *)data;
        GtkWidget *widget;
        gboolean visible;
 
@@ -705,7 +705,7 @@ static void
 vte_terminal_accessible_selection_changed (VteTerminal *terminal,
                                           gpointer data)
 {
-        VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(data);
+        VteTerminalAccessible *accessible = (VteTerminalAccessible *)data;
 
        g_signal_emit_by_name (accessible, "text_selection_changed");
 }
@@ -760,7 +760,7 @@ vte_terminal_accessible_initialize (AtkObject *obj, gpointer data)
 static void
 _vte_terminal_accessible_init (VteTerminalAccessible *accessible)
 {
-        VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private (accessible);
+        VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private (accessible);
 
        _vte_debug_print(VTE_DEBUG_ALLY, "Initialising accessible peer.\n");
 
@@ -778,7 +778,7 @@ static void
 vte_terminal_accessible_finalize(GObject *object)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(object);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
         GtkWidget *widget;
        gint i;
 
@@ -788,34 +788,29 @@ vte_terminal_accessible_finalize(GObject *object)
 
        if (widget != NULL) {
                g_signal_handlers_disconnect_matched(widget,
-                                                    G_SIGNAL_MATCH_FUNC |
-                                                    G_SIGNAL_MATCH_DATA,
+                                                    (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | 
G_SIGNAL_MATCH_DATA),
                                                     0, 0, NULL,
-                                                    vte_terminal_accessible_text_modified,
+                                                    (void *)vte_terminal_accessible_text_modified,
                                                     object);
                g_signal_handlers_disconnect_matched(widget,
-                                                    G_SIGNAL_MATCH_FUNC |
-                                                    G_SIGNAL_MATCH_DATA,
+                                                    (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | 
G_SIGNAL_MATCH_DATA),
                                                     0, 0, NULL,
-                                                    vte_terminal_accessible_text_scrolled,
+                                                    (void *)vte_terminal_accessible_text_scrolled,
                                                     object);
                g_signal_handlers_disconnect_matched(widget,
-                                                    G_SIGNAL_MATCH_FUNC |
-                                                    G_SIGNAL_MATCH_DATA,
+                                                    (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | 
G_SIGNAL_MATCH_DATA),
                                                     0, 0, NULL,
-                                                    vte_terminal_accessible_invalidate_cursor,
+                                                    (void *)vte_terminal_accessible_invalidate_cursor,
                                                     object);
                g_signal_handlers_disconnect_matched(widget,
-                                                    G_SIGNAL_MATCH_FUNC |
-                                                    G_SIGNAL_MATCH_DATA,
+                                                    (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | 
G_SIGNAL_MATCH_DATA),
                                                     0, 0, NULL,
-                                                    vte_terminal_accessible_title_changed,
+                                                    (void *)vte_terminal_accessible_title_changed,
                                                     object);
                g_signal_handlers_disconnect_matched(widget,
-                                                    G_SIGNAL_MATCH_FUNC |
-                                                    G_SIGNAL_MATCH_DATA,
+                                                    (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | 
G_SIGNAL_MATCH_DATA),
                                                     0, 0, NULL,
-                                                    vte_terminal_accessible_visibility_notify,
+                                                    (void *)vte_terminal_accessible_visibility_notify,
                                                     object);
        }
 
@@ -843,7 +838,7 @@ vte_terminal_accessible_get_text(AtkText *text,
                                 gint start_offset, gint end_offset)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        int start, end;
        gchar *ret;
 
@@ -886,7 +881,7 @@ vte_terminal_accessible_get_text(AtkText *text,
        if (end <= start) {
                ret = g_strdup ("");
        } else {
-               ret = g_malloc(end - start + 1);
+               ret = (char *)g_malloc(end - start + 1);
                memcpy(ret, priv->snapshot_text->str + start, end - start);
                ret[end - start] = '\0';
        }
@@ -906,7 +901,7 @@ vte_terminal_accessible_get_text_somewhere(AtkText *text,
                                           gint *end_offset)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
         VteTerminal *terminal;
        gunichar current, prev, next;
        guint start, end, line;
@@ -1161,7 +1156,7 @@ vte_terminal_accessible_get_text_before_offset(AtkText *text, gint offset,
        return vte_terminal_accessible_get_text_somewhere(text,
                                                          offset,
                                                          boundary_type,
-                                                         -1,
+                                                         direction_previous,
                                                          start_offset,
                                                          end_offset);
 }
@@ -1179,7 +1174,7 @@ vte_terminal_accessible_get_text_after_offset(AtkText *text, gint offset,
        return vte_terminal_accessible_get_text_somewhere(text,
                                                          offset,
                                                          boundary_type,
-                                                         1,
+                                                         direction_next,
                                                          start_offset,
                                                          end_offset);
 }
@@ -1197,7 +1192,7 @@ vte_terminal_accessible_get_text_at_offset(AtkText *text, gint offset,
        return vte_terminal_accessible_get_text_somewhere(text,
                                                          offset,
                                                          boundary_type,
-                                                         0,
+                                                         direction_current,
                                                          start_offset,
                                                          end_offset);
 }
@@ -1206,7 +1201,7 @@ static gunichar
 vte_terminal_accessible_get_character_at_offset(AtkText *text, gint offset)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        char *unichar;
        gunichar ret;
 
@@ -1226,7 +1221,7 @@ static gint
 vte_terminal_accessible_get_caret_offset(AtkText *text)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
 
        vte_terminal_accessible_update_private_data_if_needed(accessible,
                                                              NULL, NULL);
@@ -1281,7 +1276,7 @@ vte_terminal_accessible_get_run_attributes(AtkText *text, gint offset,
                                           gint *start_offset, gint *end_offset)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        guint i;
        struct _VteCharAttributes cur_attr;
        struct _VteCharAttributes attr;
@@ -1335,7 +1330,7 @@ vte_terminal_accessible_get_character_extents(AtkText *text, gint offset,
                                              AtkCoordType coords)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        VteTerminal *terminal;
        glong char_width, char_height;
        gint base_x, base_y, w, h;
@@ -1360,7 +1355,7 @@ static gint
 vte_terminal_accessible_get_character_count(AtkText *text)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
 
        vte_terminal_accessible_update_private_data_if_needed(accessible,
                                                              NULL, NULL);
@@ -1374,7 +1369,7 @@ vte_terminal_accessible_get_offset_at_point(AtkText *text,
                                            AtkCoordType coords)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        VteTerminal *terminal;
        glong char_width, char_height;
        gint base_x, base_y, w, h;
@@ -1418,7 +1413,7 @@ vte_terminal_accessible_get_selection(AtkText *text, gint selection_number,
                                      gint *start_offset, gint *end_offset)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        GtkWidget *widget;
        VteTerminal *terminal;
        long start_x, start_y, end_x, end_y;
@@ -1452,7 +1447,7 @@ vte_terminal_accessible_add_selection(AtkText *text,
                                      gint start_offset, gint end_offset)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        GtkWidget *widget;
        VteTerminal *terminal;
        gint start_x, start_y, end_x, end_y;
@@ -1657,7 +1652,7 @@ static const char *
 vte_terminal_accessible_action_get_description (AtkAction *action, int i)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(action);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
 
         g_return_val_if_fail (i < LAST_ACTION, NULL);
 
@@ -1690,7 +1685,7 @@ vte_terminal_accessible_action_set_description (AtkAction *action,
                                                 const char *description)
 {
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(action);
-       VteTerminalAccessiblePrivate *priv = _vte_terminal_accessible_get_instance_private(accessible);
+       VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
 
         g_return_val_if_fail (i < LAST_ACTION, FALSE);
 
@@ -1717,9 +1712,9 @@ static void
 _vte_terminal_accessible_class_init(VteTerminalAccessibleClass *klass)
 {
        GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-       AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+       AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
 
        gobject_class->finalize = vte_terminal_accessible_finalize;
 
-       class->initialize = vte_terminal_accessible_initialize;
+       atk_object_class->initialize = vte_terminal_accessible_initialize;
 }
diff --git a/src/vtedraw.c b/src/vtedraw.c
index 4d771e6..f71790a 100644
--- a/src/vtedraw.c
+++ b/src/vtedraw.c
@@ -244,7 +244,7 @@ font_info_find_unistr_info (struct font_info    *info,
        if (G_UNLIKELY (info->other_unistr_info == NULL))
                info->other_unistr_info = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) 
unistr_info_destroy);
 
-       uinfo = g_hash_table_lookup (info->other_unistr_info, GINT_TO_POINTER (c));
+       uinfo = (struct unistr_info *)g_hash_table_lookup (info->other_unistr_info, GINT_TO_POINTER (c));
        if (G_LIKELY (uinfo))
                return uinfo;
 
@@ -289,7 +289,7 @@ font_info_cache_ascii (struct font_info *info)
        if (G_UNLIKELY (!line || !line->runs || line->runs->next))
                return;
 
-       glyph_item = line->runs->data;
+       glyph_item = (PangoGlyphItem *)line->runs->data;
        glyph_string = glyph_item->glyphs;
        pango_font = glyph_item->item->analysis.font;
        if (!pango_font)
@@ -567,7 +567,7 @@ font_info_find_for_context (PangoContext *context)
        if (G_UNLIKELY (font_info_for_context == NULL))
                font_info_for_context = g_hash_table_new ((GHashFunc) context_hash, (GEqualFunc) 
context_equal);
 
-       info = g_hash_table_lookup (font_info_for_context, context);
+       info = (struct font_info *)g_hash_table_lookup (font_info_for_context, context);
        if (G_LIKELY (info)) {
                _vte_debug_print (VTE_DEBUG_PANGOCAIRO,
                                  "vtepangocairo: %p found font_info in cache\n",
@@ -678,10 +678,10 @@ font_info_get_unistr_info (struct font_info *info,
                /* we hold a manual reference on layout.  pango currently
                 * doesn't work if line->layout is NULL.  ugh! */
                pango_layout_set_text (info->layout, "", -1); /* make layout disassociate from the line */
-               ufi->using_pango_layout_line.line->layout = g_object_ref (info->layout);
+               ufi->using_pango_layout_line.line->layout = (PangoLayout *)g_object_ref (info->layout);
 
        } else {
-               PangoGlyphItem *glyph_item = line->runs->data;
+               PangoGlyphItem *glyph_item = (PangoGlyphItem *)line->runs->data;
                PangoFont *pango_font = glyph_item->item->analysis.font;
                PangoGlyphString *glyph_string = glyph_item->glyphs;
 
@@ -706,7 +706,7 @@ font_info_get_unistr_info (struct font_info *info,
                if (G_UNLIKELY (uinfo->coverage == COVERAGE_UNKNOWN)) {
                        uinfo->coverage = COVERAGE_USE_PANGO_GLYPH_STRING;
 
-                       ufi->using_pango_glyph_string.font = pango_font ? g_object_ref (pango_font) : NULL;
+                       ufi->using_pango_glyph_string.font = pango_font ? (PangoFont *)g_object_ref 
(pango_font) : NULL;
                        ufi->using_pango_glyph_string.glyph_string = pango_glyph_string_copy (glyph_string);
                }
        }
diff --git a/src/vterowdata.c b/src/vterowdata.c
index 52f7960..8fc4863 100644
--- a/src/vterowdata.c
+++ b/src/vterowdata.c
@@ -51,7 +51,7 @@ _vte_cells_realloc (VteCells *cells, guint32 len)
        guint32 alloc_len = (1 << g_bit_storage (MAX (len, 80))) - 1;
 
        _vte_debug_print(VTE_DEBUG_RING, "Enlarging cell array of %d cells to %d cells\n", cells ? 
cells->alloc_len : 0, alloc_len);
-       cells = g_realloc (cells, G_STRUCT_OFFSET (VteCells, cells) + alloc_len * sizeof (cells->cells[0]));
+       cells = (VteCells *)g_realloc (cells, G_STRUCT_OFFSET (VteCells, cells) + alloc_len * sizeof 
(cells->cells[0]));
        cells->alloc_len = alloc_len;
 
        return cells;
diff --git a/src/vteseq.c b/src/vteseq.c
index 4cee9a9..1910612 100644
--- a/src/vteseq.c
+++ b/src/vteseq.c
@@ -59,7 +59,7 @@ display_control_sequence(const char *name, GValueArray *params)
                                g_printerr("\"%s\"", s);
                        } else
                        if (G_VALUE_HOLDS_POINTER(value)) {
-                               w = g_value_get_pointer(value);
+                               w = (const gunichar *)g_value_get_pointer(value);
                                g_printerr("\"%ls\"", (const wchar_t*) w);
                        }
                }
@@ -497,7 +497,7 @@ vte_sequence_handler_set_title_internal(VteTerminal *terminal,
                        title = g_value_dup_string(value);
                } else
                if (G_VALUE_HOLDS_POINTER(value)) {
-                       title = vte_ucs4_to_utf8 (terminal, g_value_get_pointer (value));
+                       title = vte_ucs4_to_utf8 (terminal, (const guchar *)g_value_get_pointer (value));
                }
                if (title != NULL) {
                        char *p, *validated;
@@ -621,8 +621,8 @@ static int
 decset_cmp(const void *va,
            const void *vb)
 {
-        const struct decset_t *a = va;
-        const struct decset_t *b = vb;
+        const struct decset_t *a = (const struct decset_t *)va;
+        const struct decset_t *b = (const struct decset_t *)vb;
 
         return a->setting < b->setting ? -1 : a->setting > b->setting;
 }
@@ -635,7 +635,7 @@ vte_sequence_handler_decset_internal(VteTerminal *terminal,
                                     gboolean save,
                                     gboolean set)
 {
-       static const struct decset_t const settings[] = {
+       static const struct decset_t settings[] = {
 #define PRIV_OFFSET(member) (G_STRUCT_OFFSET(VteTerminalPrivate, member))
 #define SCREEN_OFFSET(member) (-G_STRUCT_OFFSET(VteScreen, member))
                /* 1: Application/normal cursor keys. */
@@ -797,7 +797,7 @@ vte_sequence_handler_decset_internal(VteTerminal *terminal,
 
        /* Handle the setting. */
         key.setting = setting;
-        found = bsearch(&key, settings, G_N_ELEMENTS(settings), sizeof(settings[0]), decset_cmp);
+        found = (struct decset_t *)bsearch(&key, settings, G_N_ELEMENTS(settings), sizeof(settings[0]), 
decset_cmp);
         if (!found) {
                _vte_debug_print (VTE_DEBUG_MISC,
                                  "DECSET/DECRESET mode %d not recognized, ignoring.\n",
@@ -1624,7 +1624,7 @@ vte_sequence_handler_change_color_internal (VteTerminal *terminal, GValueArray *
                if (G_VALUE_HOLDS_STRING (value))
                        str = g_value_dup_string (value);
                else if (G_VALUE_HOLDS_POINTER (value))
-                       str = vte_ucs4_to_utf8 (terminal, g_value_get_pointer (value));
+                       str = vte_ucs4_to_utf8 (terminal, (const guchar *)g_value_get_pointer (value));
 
                if (! str)
                        return;
@@ -2000,7 +2000,7 @@ vte_sequence_handler_character_attributes (VteTerminal *terminal, GValueArray *p
                /* If this parameter is a GValueArray, it can be a fully colon separated 38 or 48
                 * (see below for details). */
                if (G_UNLIKELY (G_VALUE_HOLDS_BOXED(value))) {
-                       GValueArray *subvalues = g_value_get_boxed(value);
+                       GValueArray *subvalues = (GValueArray *)g_value_get_boxed(value);
                        GValue *value0;
                        long param0;
                        gint32 color;
@@ -2114,7 +2114,7 @@ vte_sequence_handler_character_attributes (VteTerminal *terminal, GValueArray *p
                                        color = vte_sequence_parse_sgr_38_48_parameters(params, &i);
                                } else if (G_VALUE_HOLDS_BOXED(value1)) {
                                        /* The first separator was a semicolon, the rest are colons. */
-                                       GValueArray *subvalues = g_value_get_boxed(value1);
+                                       GValueArray *subvalues = (GValueArray *)g_value_get_boxed(value1);
                                        unsigned int index = 0;
                                        color = vte_sequence_parse_sgr_38_48_parameters(subvalues, &index);
                                        /* Bail out on additional colon-separated values. */
@@ -2284,7 +2284,7 @@ vte_sequence_handler_set_current_directory_uri (VteTerminal *terminal, GValueArr
                 value = g_value_array_get_nth(params, 0);
 
                 if (G_VALUE_HOLDS_POINTER(value)) {
-                        uri = vte_ucs4_to_utf8 (terminal, g_value_get_pointer (value));
+                        uri = vte_ucs4_to_utf8 (terminal, (const guchar *)g_value_get_pointer (value));
                 } else if (G_VALUE_HOLDS_STRING(value)) {
                         /* Copy the string into the buffer. */
                         uri = g_value_dup_string(value);
@@ -2318,7 +2318,7 @@ vte_sequence_handler_set_current_file_uri (VteTerminal *terminal, GValueArray *p
                 value = g_value_array_get_nth(params, 0);
 
                 if (G_VALUE_HOLDS_POINTER(value)) {
-                        uri = vte_ucs4_to_utf8 (terminal, g_value_get_pointer (value));
+                        uri = vte_ucs4_to_utf8 (terminal, (const guchar *)g_value_get_pointer (value));
                 } else if (G_VALUE_HOLDS_STRING(value)) {
                         /* Copy the string into the buffer. */
                         uri = g_value_dup_string(value);
@@ -2865,7 +2865,7 @@ vte_sequence_handler_set_cursor_style (VteTerminal *terminal, GValueArray *param
                 }
         }
 
-        _vte_terminal_set_cursor_style(terminal, style);
+        _vte_terminal_set_cursor_style(terminal, (VteCursorStyle)style);
 }
 
 /* Perform a soft reset. */
@@ -3109,7 +3109,7 @@ vte_sequence_handler_change_special_color_internal (VteTerminal *terminal, GValu
                if (G_VALUE_HOLDS_STRING (value))
                        name = g_value_dup_string (value);
                else if (G_VALUE_HOLDS_POINTER (value))
-                       name = vte_ucs4_to_utf8 (terminal, g_value_get_pointer (value));
+                       name = vte_ucs4_to_utf8 (terminal, (const guchar *)g_value_get_pointer (value));
 
                if (! name)
                        return;
diff --git a/src/vtestream-base.h b/src/vtestream-base.h
index 2d8d906..4767d11 100644
--- a/src/vtestream-base.h
+++ b/src/vtestream-base.h
@@ -21,6 +21,8 @@
 #include <glib-object.h>
 #include <gio/gio.h>
 
+G_BEGIN_DECLS
+
 /*
  * VteStream: Abstract base stream class
  */
@@ -98,3 +100,6 @@ _vte_stream_head (VteStream *stream)
 {
        return VTE_STREAM_GET_CLASS (stream)->head (stream);
 }
+
+G_END_DECLS
+
diff --git a/src/vtestream-file.h b/src/vtestream-file.h
index bcd68df..27e5f66 100644
--- a/src/vtestream-file.h
+++ b/src/vtestream-file.h
@@ -75,6 +75,8 @@
  * Design discussions: https://bugzilla.gnome.org/show_bug.cgi?id=738601
  */
 
+#include <glib.h>
+#include "config.h"
 #include <errno.h>
 #include <fcntl.h>
 #include <stdio.h>
@@ -89,6 +91,8 @@
 
 #include "vteutils.h"
 
+G_BEGIN_DECLS
+
 #ifdef WITH_GNUTLS
 /* Currently the code requires that a stream cipher (e.g. GCM) is used
  * which can encrypt any amount of data without need for padding. */
@@ -862,7 +866,7 @@ _vte_boa_read_with_overwrite_counter (VteBoa *boa, gsize offset, char *data, _vt
 {
         _vte_block_datalength_t compressed_len;
         gboolean ret = FALSE;
-        char *buf = g_malloc(VTE_SNAKE_BLOCKSIZE);
+        char *buf = (char *)g_malloc(VTE_SNAKE_BLOCKSIZE);
 
         g_assert_cmpuint (offset % VTE_BOA_BLOCKSIZE, ==, 0);
 
@@ -921,8 +925,8 @@ _vte_boa_write (VteBoa *boa, gsize offset, const char *data)
 
         /* The helper buffer should be large enough to contain a whole snake block,
          * and also large enough to compress data that actually grows bigger during compression. */
-        char *buf = g_malloc(MAX(VTE_SNAKE_BLOCKSIZE,
-                                 VTE_BLOCK_DATALENGTH_SIZE + VTE_OVERWRITE_COUNTER_SIZE + 
boa->compressBound));
+        char *buf = (char *)g_malloc(MAX(VTE_SNAKE_BLOCKSIZE,
+                                         VTE_BLOCK_DATALENGTH_SIZE + VTE_OVERWRITE_COUNTER_SIZE + 
boa->compressBound));
 
         g_assert_cmpuint (offset, >=, boa->tail);
         g_assert_cmpuint (offset, <=, boa->head);
@@ -1050,11 +1054,11 @@ _vte_file_stream_new (void)
 static void
 _vte_file_stream_init (VteFileStream *stream)
 {
-        stream->boa = g_object_new (VTE_TYPE_BOA, NULL);
+        stream->boa = (VteBoa *)g_object_new (VTE_TYPE_BOA, NULL);
         _vte_boa_init (stream->boa);
 
-        stream->rbuf = g_malloc(VTE_BOA_BLOCKSIZE);
-        stream->wbuf = g_malloc(VTE_BOA_BLOCKSIZE);
+        stream->rbuf = (char *)g_malloc(VTE_BOA_BLOCKSIZE);
+        stream->wbuf = (char *)g_malloc(VTE_BOA_BLOCKSIZE);
         stream->rbuf_offset = 1;  /* Invalidate */
 }
 
@@ -1227,6 +1231,8 @@ _vte_file_stream_class_init (VteFileStreamClass *klass)
        klass->head = _vte_file_stream_head;
 }
 
+G_END_DECLS
+
 /******************************************************************************************/
 
 #ifdef VTESTREAM_MAIN


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]