From 47480a98d3c5c058755f3206765730dbfbf3ecef Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Sun, 27 Aug 2017 20:11:59 +0200
Subject: Replaced a deprecated function in the About box.

---
 ChangeLog               |  5 +++++
 src/gui/dialogs/about.c | 45 +++++++++++++++++++++++++++++++++++++++------
 2 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3df7764..1eb2cd5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 17-08-27  Cyrille Bagard <nocbos@gmail.com>
 
+	* src/gui/dialogs/about.c:
+	Replace a deprecated function in the About box.
+
+17-08-27  Cyrille Bagard <nocbos@gmail.com>
+
 	* src/gui/panels/errors.c:
 	Fix some bugs in the error panel.
 
diff --git a/src/gui/dialogs/about.c b/src/gui/dialogs/about.c
index 7868e19..b594d06 100644
--- a/src/gui/dialogs/about.c
+++ b/src/gui/dialogs/about.c
@@ -41,6 +41,9 @@
 /* Réagit à l'appui d'une touche sur la fenêtre 'A propos'. */
 static gboolean close_about_window_on_escape(GtkWidget *, GdkEventKey *, gpointer);
 
+/* Dessine un fond adapté pour la fenêtre sans toucher au thème. */
+static gboolean draw_black_background(GtkWidget *, cairo_t *, gpointer);
+
 
 
 /******************************************************************************
@@ -58,7 +61,6 @@ static gboolean close_about_window_on_escape(GtkWidget *, GdkEventKey *, gpointe
 GtkWidget *create_about_dialog(GtkWindow *parent)
 {
     GtkWidget *result;                      /* Fenêtre à renvoyer          */
-    GdkRGBA color;                          /* Couleur de fond noire       */
     GtkWidget *fixed;                       /* Support global              */
     gchar *filename;                        /* Chemin d'accès au fichier   */
     GtkWidget *image;                       /* Image chargée               */
@@ -79,13 +81,12 @@ GtkWidget *create_about_dialog(GtkWindow *parent)
 
     g_signal_connect(result, "key_press_event", G_CALLBACK(close_about_window_on_escape), NULL);
 
-    gdk_rgba_parse(&color, "black");
-    gtk_widget_override_background_color(GTK_WIDGET(result), GTK_STATE_FLAG_NORMAL, &color);
-
     fixed = gtk_fixed_new();
     gtk_widget_show(fixed);
     gtk_container_add(GTK_CONTAINER(result), fixed);
 
+    g_signal_connect(fixed, "draw", G_CALLBACK(draw_black_background), NULL);
+
     /* Images principales */
 
     filename = find_pixmap_file("chrysalide-full.png");
@@ -138,13 +139,13 @@ GtkWidget *create_about_dialog(GtkWindow *parent)
 
 /******************************************************************************
 *                                                                             *
-*  Paramètres  : window = fenêtre visée par la procédure.                     *
+*  Paramètres  : widget = fenêtre visée par la procédure.                     *
 *                event  = informations liées à l'événement.                   *
 *                dummy  = donnée non utilisée ici.                            *
 *                                                                             *
 *  Description : Réagit à l'appui d'une touche sur la fenêtre 'A propos'.     *
 *                                                                             *
-*  Retour      : TRUE pour poursuivre la propagation, FALSE autrement.        *
+*  Retour      : TRUE pour interrompre la propagation, FALSE autrement.       *
 *                                                                             *
 *  Remarques   : -                                                            *
 *                                                                             *
@@ -164,3 +165,35 @@ static gboolean close_about_window_on_escape(GtkWidget *widget, GdkEventKey *eve
     return result;
 
 }
+
+
+/******************************************************************************
+*                                                                             *
+*  Paramètres  : widget = fenêtre visée par la procédure.                     *
+*                event  = informations liées à l'événement.                   *
+*                dummy  = donnée non utilisée ici.                            *
+*                                                                             *
+*  Description : Dessine un fond adapté pour la fenêtre sans toucher au thème.*
+*                                                                             *
+*  Retour      : TRUE pour interrompre la propagation, FALSE autrement.       *
+*                                                                             *
+*  Remarques   : -                                                            *
+*                                                                             *
+******************************************************************************/
+
+static gboolean draw_black_background(GtkWidget *widget, cairo_t *cr, gpointer dummy)
+{
+    int width;                              /* Largeur du composant        */
+    int height;                             /* Hauteur du composant        */
+
+    width = gtk_widget_get_allocated_width(widget);
+    height = gtk_widget_get_allocated_height(widget);
+
+    cairo_set_source_rgb(cr, 0.0, 0.0, 0.0);
+
+    cairo_rectangle(cr, 0, 0, width, height);
+    cairo_fill(cr);
+
+    return FALSE;
+
+}
-- 
cgit v0.11.2-87-g4458