[gnome-games] Use accessor functions for -DGSEAL_ENABLE



commit a0c8018869ea1b7091389be96103d7373f55a11c
Author: Thomas Hindoe Paaboel Andersen <phomes gmail com>
Date:   Mon Jul 20 02:03:09 2009 +0200

    Use accessor functions for -DGSEAL_ENABLE
    
    Fixes mahjongg, same-gnome and part of gnomine.
    Still needs work for GtkWidget allocation and GtkObject flags as no solution for these exists.
    
    GNOME bug #586731

 gnomine/gnomine.c    |   19 +++++++-------
 mahjongg/drawing.c   |   22 ++++++++++-------
 mahjongg/mahjongg.c  |    4 +-
 same-gnome/drawing.c |   65 ++++++++++++++++++++++++++-----------------------
 same-gnome/ui.c      |    6 ++--
 5 files changed, 61 insertions(+), 55 deletions(-)
---
diff --git a/gnomine/gnomine.c b/gnomine/gnomine.c
index 569e760..37567fe 100644
--- a/gnomine/gnomine.c
+++ b/gnomine/gnomine.c
@@ -321,12 +321,11 @@ hint_callback (void)
   else
     message = _("Maybe they're all mines ...");
 
-  dialog = gtk_message_dialog_new (GTK_WINDOW (window), GTK_DIALOG_MODAL,
-				   GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
-				   message, NULL);
+  dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (window),
+                                               GTK_DIALOG_MODAL,
+                                               GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
+                                               message, NULL);
   gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
-  gtk_label_set_use_markup (GTK_LABEL (GTK_MESSAGE_DIALOG (dialog)->label),
-			    TRUE);
 
   disable_hiding = TRUE;
   gtk_dialog_run (GTK_DIALOG (dialog));
@@ -793,10 +792,10 @@ create_preferences (void)
 
   gtk_dialog_set_has_separator (GTK_DIALOG (pref_dialog), FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (pref_dialog), 5);
-  gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (pref_dialog)->vbox), 2);
+  gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (pref_dialog))), 2);
   gtk_window_set_resizable (GTK_WINDOW (pref_dialog), FALSE);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (pref_dialog)->vbox), table, FALSE,
-		      FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (pref_dialog))),
+                      table, FALSE, FALSE, 0);
 
   g_signal_connect (G_OBJECT (pref_dialog), "destroy",
 		    G_CALLBACK (gtk_widget_destroyed), &pref_dialog);
@@ -907,7 +906,7 @@ save_state_cb (EggSMClient *client,
   int argc = 0, j;
   gint xpos, ypos;
 
-  gdk_window_get_origin (window->window, &xpos, &ypos);
+  gdk_window_get_origin (gtk_widget_get_window (window), &xpos, &ypos);
 
   argv[argc++] = g_get_prgname ();
   argv[argc++] = "-x";
@@ -1194,7 +1193,7 @@ main (int argc, char *argv[])
 
   /* Must be after the window has been created. */
   if (xpos >= 0 && ypos >= 0)
-    gdk_window_move (GTK_WIDGET (window)->window, xpos, ypos);
+    gdk_window_move (gtk_widget_get_window (GTK_WIDGET (window)), xpos, ypos);
 
   /* All this hiding is a bit ugly, but it's better than a
    * ton of gtk_widget_show calls. */
diff --git a/mahjongg/drawing.c b/mahjongg/drawing.c
index 346c2dd..72e2de3 100644
--- a/mahjongg/drawing.c
+++ b/mahjongg/drawing.c
@@ -239,7 +239,8 @@ draw_tile (gint tileno)
 
   /* We could queue this draw, but given that this function is at worst case
    * called twice in a short time span it doesn't seem worth the code. */
-  gdk_draw_drawable (board->window, board->style->black_gc, buffer, ox, oy,
+  gdk_draw_drawable (gtk_widget_get_window (board),
+                     gtk_widget_get_style (board)->black_gc, buffer, ox, oy,
 		     ox, oy, tilewidth, tileheight);
 }
 
@@ -348,7 +349,8 @@ configure_pixmaps (void)
 
   if (buffer != NULL)
     g_object_unref (buffer);
-  buffer = gdk_pixmap_new (board->window, windowwidth, windowheight, -1);
+  buffer = gdk_pixmap_new (gtk_widget_get_window (board), windowwidth, 
+                           windowheight, -1);
 
   /* Recreate the tile images only if the theme or tile size changed. */
   if ((prior_tilebasewidth != tilebasewidth) || (update_tileimages)) {
@@ -360,10 +362,11 @@ configure_pixmaps (void)
     if (tilebuffer != NULL)
       g_object_unref (tilebuffer);
 
-    tileimages = gdk_pixmap_new (board->window, NUM_PATTERNS * tilewidth,
-				 2 * tileheight, -1);
+    tileimages = gdk_pixmap_new (gtk_widget_get_window (board),
+                                 NUM_PATTERNS * tilewidth, 2 * tileheight, -1);
     tilemask = gdk_pixmap_new (NULL, tilewidth, tileheight, 1);
-    tilebuffer = gdk_pixmap_new (board->window, tilewidth, tileheight, -1);
+    tilebuffer = gdk_pixmap_new (gtk_widget_get_window (board), tilewidth,
+                                 tileheight, -1);
 
     recreate_tile_images ();
     update_tileimages = FALSE;
@@ -377,8 +380,8 @@ configure_board (GtkWidget * w, GdkEventConfigure * e, gpointer data)
   nowindow = FALSE;
 
   if (gc == NULL) {
-    gc = gdk_gc_new (w->window);
-    gdk_gc_copy (gc, w->style->black_gc);
+    gc = gdk_gc_new (gtk_widget_get_window (w));
+    gdk_gc_copy (gc, gtk_widget_get_style (w)->black_gc);
     gdk_colormap_alloc_color (gdk_colormap_get_system (), &bgcolour, FALSE,
 			      TRUE);
     gdk_gc_set_foreground (gc, &bgcolour);
@@ -398,9 +401,10 @@ configure_board (GtkWidget * w, GdkEventConfigure * e, gpointer data)
 static void
 expose_board (GtkWidget * w, GdkEventExpose * e, gpointer data)
 {
-  gdk_draw_drawable (w->window, w->style->black_gc, buffer, e->area.x,
+  gdk_draw_drawable (gtk_widget_get_window (w),
+                     gtk_widget_get_style (w)->black_gc, buffer, e->area.x,
 		     e->area.y, e->area.x, e->area.y, e->area.width,
-		     e->area.height);
+                     e->area.height);
 }
 
 static void
diff --git a/mahjongg/mahjongg.c b/mahjongg/mahjongg.c
index 82f39a5..5ca8bb2 100644
--- a/mahjongg/mahjongg.c
+++ b/mahjongg/mahjongg.c
@@ -708,7 +708,7 @@ properties_callback (void)
 					     GTK_STOCK_CLOSE,
 					     GTK_RESPONSE_CLOSE, NULL);
   gtk_container_set_border_width (GTK_CONTAINER (pref_dialog), 5);
-  gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (pref_dialog)->vbox), 2);
+  gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (pref_dialog))), 2);
   gtk_dialog_set_has_separator (GTK_DIALOG (pref_dialog), FALSE);
   gtk_window_set_resizable (GTK_WINDOW (pref_dialog), FALSE);
   gtk_dialog_set_default_response (GTK_DIALOG (pref_dialog),
@@ -786,7 +786,7 @@ properties_callback (void)
 
   gtk_container_add (GTK_CONTAINER (frame), table);
 
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (pref_dialog)->vbox),
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (pref_dialog))),
 			       top_table, TRUE, TRUE, 0);
 
   g_object_unref (group);
diff --git a/same-gnome/drawing.c b/same-gnome/drawing.c
index 5781ee4..cbed8b3 100644
--- a/same-gnome/drawing.c
+++ b/same-gnome/drawing.c
@@ -96,12 +96,14 @@ draw_ball_with_offset (GtkWidget * canvas, game_cell * p, int x,
     /* We don't add an offset to the blank tile since it is part of 
      * the background. The background movement is compensated for when
      * the other tiles were created. */
-    gdk_draw_drawable (canvas->window, canvas->style->black_gc,
+    gdk_draw_drawable (gtk_widget_get_window (canvas),
+                       gtk_widget_get_style (canvas)->black_gc,
                        blank_pixmap, 0, 0, x * tile_size,
                        y * tile_size, tile_size, tile_size);
   } else {
     pixmap = pixmaps[colour][frame];
-    gdk_draw_drawable (canvas->window, canvas->style->black_gc,
+    gdk_draw_drawable (gtk_widget_get_window (canvas),
+                       gtk_widget_get_style (canvas)->black_gc,
                        pixmap, 0, 0, x * tile_size + dx,
                        y * tile_size - dy, tile_size, tile_size);
   }
@@ -109,7 +111,7 @@ draw_ball_with_offset (GtkWidget * canvas, game_cell * p, int x,
   /* Draw the cursor is needed. */
   if (draw_cursor && (x == cursor_x) && (y == cursor_y)) {
     if (cursorgc == NULL) {
-      cursorgc = gdk_gc_new (canvaswidget->window);
+      cursorgc = gdk_gc_new (gtk_widget_get_window (canvaswidget));
       gdk_colormap_alloc_color (gdk_colormap_get_system (),
                                 &cursorcolor, TRUE, TRUE);
       gdk_gc_set_foreground (cursorgc, &cursorcolor);
@@ -117,7 +119,7 @@ draw_ball_with_offset (GtkWidget * canvas, game_cell * p, int x,
                                   GDK_CAP_BUTT, GDK_JOIN_MITER);
     }
 
-    gdk_draw_rectangle (canvaswidget->window, cursorgc,
+    gdk_draw_rectangle (gtk_widget_get_window (canvaswidget), cursorgc,
                         FALSE, x * tile_size + 2, y * tile_size + 2,
                         tile_size - 3, tile_size - 3);
   }
@@ -163,12 +165,12 @@ expose_cb (GtkWidget * canvas, GdkEventExpose * event, gpointer data)
   game_cell dummy = { -1, 0, 0, 0 };
 
   if (gridgc == NULL) {
-    gridgc = gdk_gc_new (canvas->window);
+    gridgc = gdk_gc_new (gtk_widget_get_window (canvas));
     gdk_colormap_alloc_color (gdk_colormap_get_system (),
                               &gridcolor, TRUE, TRUE);
     gdk_gc_set_foreground (gridgc, &gridcolor);
 
-    bggc = gdk_gc_new (canvas->window);
+    bggc = gdk_gc_new (gtk_widget_get_window (canvas));
     gdk_colormap_alloc_color (gdk_colormap_get_system (),
                               &bgcolor, TRUE, TRUE);
     gdk_gc_set_foreground (bggc, &bgcolor);
@@ -195,13 +197,13 @@ expose_cb (GtkWidget * canvas, GdkEventExpose * event, gpointer data)
 
     /* Fixup the left and bottom lines. */
     if ((event->area.y + event->area.height + 1) >= board_height * tile_size) {
-      gdk_draw_line (canvas->window, gridgc,
+      gdk_draw_line (gtk_widget_get_window (canvas), gridgc,
                      event->area.x, board_height * tile_size,
                      event->area.x + event->area.width - 2,
                      board_height * tile_size);
     }
     if ((event->area.x + event->area.width + 1) >= board_width * tile_size) {
-      gdk_draw_line (canvas->window, gridgc,
+      gdk_draw_line (gtk_widget_get_window (canvas), gridgc,
                      board_width * tile_size, event->area.y,
                      board_width * tile_size,
                      event->area.y + event->area.height - 2);
@@ -209,7 +211,7 @@ expose_cb (GtkWidget * canvas, GdkEventExpose * event, gpointer data)
 
   } else {                        /* Draw only the grid. */
 
-    gdk_draw_rectangle (canvas->window, bggc, TRUE,
+    gdk_draw_rectangle (gtk_widget_get_window (canvas), bggc, TRUE,
                         event->area.x, event->area.y,
                         event->area.width, event->area.height);
 
@@ -217,7 +219,7 @@ expose_cb (GtkWidget * canvas, GdkEventExpose * event, gpointer data)
     for (x = tile_size * (event->area.x / tile_size);
          x <= tile_size * ((event->area.x + event->area.width) / tile_size);
          x += tile_size) {
-      gdk_draw_line (canvas->window, gridgc, x,
+      gdk_draw_line (gtk_widget_get_window (canvas), gridgc, x,
                      event->area.y, x, event->area.y + event->area.height);
     }
 
@@ -225,7 +227,7 @@ expose_cb (GtkWidget * canvas, GdkEventExpose * event, gpointer data)
     for (x = tile_size * (event->area.y / tile_size);
          x <= tile_size * ((event->area.y + event->area.height) / tile_size);
          x += tile_size) {
-      gdk_draw_line (canvas->window, gridgc,
+      gdk_draw_line (gtk_widget_get_window (canvas), gridgc,
                      event->area.x, x, event->area.x + event->area.width, x);
     }
 
@@ -307,10 +309,11 @@ render_cb (GtkWidget * canvas)
     }
     if (blank_pixmap != NULL)
       g_object_unref (blank_pixmap);
-    blank_pixmap = gdk_pixmap_new (canvas->window, tile_size, tile_size, -1);
-    gdk_draw_pixbuf (blank_pixmap, canvas->style->black_gc, bg_pixbuf,
-                     0, 0, 0, 0, tile_size, tile_size, GDK_RGB_DITHER_NORMAL,
-                     0, 0);
+    blank_pixmap = gdk_pixmap_new (gtk_widget_get_window (canvas), tile_size,
+                                   tile_size, -1);
+    gdk_draw_pixbuf (blank_pixmap, gtk_widget_get_style (canvas)->black_gc,
+                     bg_pixbuf, 0, 0, 0, 0, tile_size, tile_size,
+                     GDK_RGB_DITHER_NORMAL, 0, 0);
 
     /* This code is far from perfect. For starters it only checks to
      * see if the file exists before deciding that the filename is the
@@ -387,10 +390,10 @@ render_cb (GtkWidget * canvas)
                             1.0 - n * ftile_size,
                             1.0, 1.0, GDK_INTERP_TILES, 255);
 
-      pixmaps[n][m] = gdk_pixmap_new (canvas->window, tile_size, tile_size,
-                                      -1);
-      gdk_draw_pixbuf (pixmaps[n][m], canvas->style->black_gc, tile,
-                       0, 0, 0, 0, tile_size, tile_size,
+      pixmaps[n][m] = gdk_pixmap_new (gtk_widget_get_window (canvas), tile_size,
+                                      tile_size, -1);
+      gdk_draw_pixbuf (pixmaps[n][m], gtk_widget_get_style (canvas)->black_gc,
+                       tile, 0, 0, 0, 0, tile_size, tile_size,
                        GDK_RGB_DITHER_NORMAL, 0, 0);
 
       g_object_unref (tile);
@@ -437,10 +440,10 @@ render_cb (GtkWidget * canvas)
         }
       }
 
-      pixmaps[n][m] = gdk_pixmap_new (canvas->window, tile_size, tile_size,
-                                      -1);
-      gdk_draw_pixbuf (pixmaps[n][m], canvas->style->black_gc, tile,
-                       0, 0, 0, 0, tile_size, tile_size,
+      pixmaps[n][m] = gdk_pixmap_new (gtk_widget_get_window (canvas), tile_size,
+                                      tile_size, -1);
+      gdk_draw_pixbuf (pixmaps[n][m], gtk_widget_get_style (canvas)->black_gc,
+                       tile, 0, 0, 0, 0, tile_size, tile_size,
                        GDK_RGB_DITHER_NORMAL, 0, 0);
 
       g_object_unref (tile);
@@ -491,10 +494,10 @@ render_cb (GtkWidget * canvas)
                             ftile_size, 1.0, 1.0 - n * ftile_size,
                             1.0, 1.0, GDK_INTERP_TILES, 255);
 
-      pixmaps[n][m] = gdk_pixmap_new (canvas->window, tile_size, tile_size,
-                                      -1);
-      gdk_draw_pixbuf (pixmaps[n][m], canvas->style->black_gc, tile,
-                       0, 0, 0, 0, tile_size, tile_size,
+      pixmaps[n][m] = gdk_pixmap_new (gtk_widget_get_window (canvas), tile_size,
+                                      tile_size, -1);
+      gdk_draw_pixbuf (pixmaps[n][m], gtk_widget_get_style (canvas)->black_gc,
+                       tile, 0, 0, 0, 0, tile_size, tile_size,
                        GDK_RGB_DITHER_NORMAL, 0, 0);
 
       g_object_unref (tile);
@@ -547,10 +550,10 @@ render_cb (GtkWidget * canvas)
                             ftile_size, 1.0, 1.0 - n * ftile_size,
                             1.0, 1.0, GDK_INTERP_TILES, 255);
 
-      pixmaps[n][m] = gdk_pixmap_new (canvas->window, tile_size, tile_size,
-                                      -1);
-      gdk_draw_pixbuf (pixmaps[n][m], canvas->style->black_gc, tile,
-                       0, 0, 0, 0, tile_size, tile_size,
+      pixmaps[n][m] = gdk_pixmap_new (gtk_widget_get_window (canvas), tile_size,
+                                      tile_size, -1);
+      gdk_draw_pixbuf (pixmaps[n][m], gtk_widget_get_style (canvas)->black_gc,
+                       tile, 0, 0, 0, 0, tile_size, tile_size,
                        GDK_RGB_DITHER_NORMAL, 0, 0);
 
       g_object_unref (tile);
diff --git a/same-gnome/ui.c b/same-gnome/ui.c
index b686cc4..7d66ae1 100644
--- a/same-gnome/ui.c
+++ b/same-gnome/ui.c
@@ -287,7 +287,7 @@ theme_cb (void)
 					  GTK_STOCK_CLOSE,
 					  GTK_RESPONSE_ACCEPT, NULL);
     gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
-    gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 2);
+    gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
     gtk_dialog_set_default_response (GTK_DIALOG (dialog),
 				     GTK_RESPONSE_ACCEPT);
     g_signal_connect (G_OBJECT (dialog), "response",
@@ -303,8 +303,8 @@ theme_cb (void)
     gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll),
 					 GTK_SHADOW_ETCHED_IN);
     gtk_widget_set_size_request (scroll, 250, 250);
-    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scroll,
-			TRUE, TRUE, 0);
+    gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
+      scroll,	TRUE, TRUE, 0);
 
     list = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
 



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