chiark / gitweb /
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/disorder
[disorder] / disobedience / misc.c
index 96e175030c1d5ebca495615c9e80f4e1b1035e41..6a12fb61997c2696e2645f8de2c09744158aa82a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * This file is part of DisOrder
- * Copyright (C) 2006-2008 Richard Kettlewell
+ * Copyright (C) 2006-2008, 2010 Richard Kettlewell
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 #include "disobedience.h"
 #include "table.h"
 
+/** @brief Embedded image */
 struct image {
+  /** @brief Image name */
   const char *name;
+  /** @brief Image data in GDK pixbuf inline format */
   const guint8 *data;
 };
 
-#include "images.h"
+#include "../images/images.h"
 
 /* Miscellaneous GTK+ stuff ------------------------------------------------ */
 
@@ -107,7 +110,10 @@ GdkPixbuf *find_image(const char *name) {
   if(!(pb = (GdkPixbuf *)cache_get(&image_cache_type, name))) {
     if((n = TABLE_FIND(images, name, name)) >= 0) {
       /* Use the built-in copy */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
       if(!(pb = gdk_pixbuf_new_from_inline(-1, images[n].data, FALSE, &err))) {
+#pragma GCC diagnostic pop
         disorder_error(0, "%s", err->message);
         return 0;
       }
@@ -187,7 +193,14 @@ GtkWidget *create_buttons_box(struct button *buttons,
     gtk_widget_set_style(buttons[n].widget, tool_style);
     g_signal_connect(G_OBJECT(buttons[n].widget), "clicked",
                      G_CALLBACK(buttons[n].clicked), 0);
-    gtk_box_pack_start(GTK_BOX(box), buttons[n].widget, FALSE, FALSE, 1);
+    void (*pack)(GtkBox *box,
+                 GtkWidget *child,
+                 gboolean expand,
+                 gboolean fill,
+                 guint padding);
+    if(!(pack = buttons[n].pack))
+      pack = gtk_box_pack_start;
+    pack(GTK_BOX(box), buttons[n].widget, FALSE, FALSE, 1);
     gtk_widget_set_tooltip_text(buttons[n].widget, buttons[n].tip);
   }
   return box;