[gthumb] removed the use of many deprecated functions
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] removed the use of many deprecated functions
- Date: Mon, 1 Jul 2013 20:39:45 +0000 (UTC)
commit 62811c667dcc5601c711412279f0037172f3bc10
Author: Paolo Bacchilega <paobac src gnome org>
Date: Mon Jul 1 21:38:52 2013 +0200
removed the use of many deprecated functions
configure.ac | 16 +-
extensions/cairo_io/cairo-image-surface-jpeg.c | 10 +-
extensions/cairo_io/cairo-image-surface-xcf.c | 196 ------------------
extensions/gstreamer_tools/gth-media-viewer-page.c | 14 +-
extensions/oauth/oauth-consumer.h | 4 -
extensions/oauth/web-service.c | 10 +-
gthumb/Makefile.am | 2 +
gthumb/color-utils.c | 218 ++++++++++++++++++++
gthumb/color-utils.h | 55 +++++
gthumb/glib-utils.c | 6 +-
gthumb/glib-utils.h | 6 +-
gthumb/gth-color-scale.c | 1 +
gthumb/gth-empty-list.c | 8 +-
gthumb/gth-grid-view.c | 6 +-
gthumb/gth-histogram-view.c | 2 +-
gthumb/gth-main.c | 52 +++---
gthumb/gth-toolbox.c | 4 +-
gthumb/gtk-utils.c | 33 ++-
gthumb/main.c | 2 -
po/POTFILES.in | 2 +
tests/dom-test.c | 71 +++----
tests/glib-utils-test.c | 1 -
22 files changed, 399 insertions(+), 320 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index cda526f..5bff612 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,7 +64,7 @@ CLUTTER_REQUIRED=1.0.0
CLUTTER_GTK_REQUIRED=1.0.0
GSTREAMER_REQUIRED=1.0.0
LIBRAW_REQUIRED=0.14
-LIBSOUP_REQUIRED=2.36
+LIBSOUP_REQUIRED=2.42
LIBSECRET_REQUIRED=0.11
LIBBRASERO_REQUIRED=3.2.0
LIBCHAMPLAIN_REQUIRED=0.12.0
@@ -502,16 +502,10 @@ AC_ARG_ENABLE([libsoup],
[enable_libsoup=yes])
if test x$enable_libsoup = xyes ; then
- PKG_CHECK_MODULES(LIBSOUP_GNOME,
- [libsoup-gnome-2.4 >= $LIBSOUP_REQUIRED],
- [LIBSOUP_CFLAGS="$LIBSOUP_GNOME_CFLAGS"
- LIBSOUP_LIBS="$LIBSOUP_GNOME_LIBS"
- AC_DEFINE(HAVE_LIBSOUP_GNOME, 1, [Have libsoup-gnome])
- enable_libsoup=yes],
- [PKG_CHECK_MODULES(LIBSOUP,
- [libsoup-2.4 >= $LIBSOUP_REQUIRED],
- [enable_libsoup=yes],
- [enable_libsoup=no])])
+ PKG_CHECK_MODULES(LIBSOUP,
+ [libsoup-2.4 >= $LIBSOUP_REQUIRED],
+ [enable_libsoup=yes],
+ [enable_libsoup=no])
fi
AC_SUBST(LIBSOUP_CFLAGS)
AC_SUBST(LIBSOUP_LIBS)
diff --git a/extensions/cairo_io/cairo-image-surface-jpeg.c b/extensions/cairo_io/cairo-image-surface-jpeg.c
index 96ad677..90e5f2a 100644
--- a/extensions/cairo_io/cairo-image-surface-jpeg.c
+++ b/extensions/cairo_io/cairo-image-surface-jpeg.c
@@ -85,7 +85,7 @@ static int *YCbCr_R_Cr_Tab = NULL;
static int *YCbCr_G_Cb_Tab = NULL;
static int *YCbCr_G_Cr_Tab = NULL;
static int *YCbCr_B_Cb_Tab = NULL;
-static GStaticMutex Tables_Mutex = G_STATIC_MUTEX_INIT;
+static GMutex Tables_Mutex;
#define SCALE_FACTOR 16
@@ -97,7 +97,7 @@ static GStaticMutex Tables_Mutex = G_STATIC_MUTEX_INIT;
static void
CMYK_table_init (void)
{
- g_static_mutex_lock (&Tables_Mutex);
+ g_mutex_lock (&Tables_Mutex);
if (CMYK_Tab == NULL) {
int v, k, i;
@@ -114,14 +114,14 @@ CMYK_table_init (void)
}
}
- g_static_mutex_unlock (&Tables_Mutex);
+ g_mutex_unlock (&Tables_Mutex);
}
static void
YCbCr_tables_init (void)
{
- g_static_mutex_lock (&Tables_Mutex);
+ g_mutex_lock (&Tables_Mutex);
if (YCbCr_R_Cr_Tab == NULL) {
int i, v;
@@ -139,7 +139,7 @@ YCbCr_tables_init (void)
}
}
- g_static_mutex_unlock (&Tables_Mutex);
+ g_mutex_unlock (&Tables_Mutex);
}
diff --git a/extensions/cairo_io/cairo-image-surface-xcf.c b/extensions/cairo_io/cairo-image-surface-xcf.c
index e0c8920..5846976 100644
--- a/extensions/cairo_io/cairo-image-surface-xcf.c
+++ b/extensions/cairo_io/cairo-image-surface-xcf.c
@@ -37,8 +37,6 @@
#define TILE_WIDTH 64
#define MAX_TILE_SIZE (TILE_WIDTH * TILE_WIDTH * 4 * 1.5)
#define ADD_ALPHA(v, a) (add_alpha_table[v][a])
-#define MIN3(x,y,z) ((y) <= (z) ? MIN ((x), (y)) : MIN ((x), (z)))
-#define MAX3(x,y,z) ((y) >= (z) ? MAX ((x), (y)) : MAX ((x), (z)))
#define DISSOLVE_SEED 737893334
#define CLAMP_TEMP(x, min, max) (temp = (x), CLAMP (temp, min, max))
#define ABS_TEMP2(x) (temp2 = (x), (temp2 < 0) ? -temp2: temp2)
@@ -313,200 +311,6 @@ gimp_layer_free (GimpLayer *layer)
/* -- _cairo_image_surface_create_from_xcf -- */
-/* RGB <-> HSV */
-
-
-static void
-gimp_rgb_to_hsv (guchar red,
- guchar green,
- guchar blue,
- guchar *hue,
- guchar *sat,
- guchar *val)
-{
- guchar min, max;
-
- min = MIN3 (red, green, blue);
- max = MAX3 (red, green, blue);
-
- *val = max;
- if (*val == 0) {
- *hue = *sat = 0;
- return;
- }
-
- *sat = 255 * (long)(max - min) / *val;
- if (*sat == 0) {
- *hue = 0;
- return;
- }
-
- if (max == min)
- *hue = 0;
- else if (max == red)
- *hue = 0 + 43 * (green - blue) / (max - min);
- else if (max == green)
- *hue = 85 + 43 * (blue - red) / (max - min);
- else if (max == blue)
- *hue = 171 + 43 * (red - green) / (max - min);
-}
-
-
-static void
-gimp_hsv_to_rgb (guchar hue,
- guchar sat,
- guchar val,
- guchar *red,
- guchar *green,
- guchar *blue)
-{
- guchar region, remainder, p, q, t;
-
- if (sat == 0) {
- *red = *green = *blue = val;
- return;
- }
-
- region = hue / 43;
- remainder = (hue - (region * 43)) * 6;
-
- p = (val * (255 - sat)) >> 8;
- q = (val * (255 - ((sat * remainder) >> 8))) >> 8;
- t = (val * (255 - ((sat * (255 - remainder)) >> 8))) >> 8;
-
- switch (region) {
- case 0:
- *red = val;
- *green = t;
- *blue = p;
- break;
- case 1:
- *red = q;
- *green = val;
- *blue = p;
- break;
- case 2:
- *red = p;
- *green = val;
- *blue = t;
- break;
- case 3:
- *red = p;
- *green = q;
- *blue = val;
- break;
- case 4:
- *red = t;
- *green = p;
- *blue = val;
- break;
- default:
- *red = val;
- *green = p;
- *blue = q;
- break;
- }
-}
-
-
-/* RGB <-> HSL */
-
-
-static void
-gimp_rgb_to_hsl (guchar red,
- guchar green,
- guchar blue,
- guchar *hue,
- guchar *sat,
- guchar *lum)
-{
- guchar min, max;
-
- min = MIN3 (red, green, blue);
- max = MAX3 (red, green, blue);
-
- *lum = (max + min) / 2;
-
- if (max == min) {
- *hue = *sat = 0;
- return;
- }
-
- if (*lum < 128)
- *sat = 255 * (long) (max - min) / (max + min);
- else
- *sat = 255 * (long) (max - min) / (512 - max - min);
-
- if (max == min)
- *hue = 0;
- else if (max == red)
- *hue = 0 + 43 * (green - blue) / (max - min);
- else if (max == green)
- *hue = 85 + 43 * (blue - red) / (max - min);
- else if (max == blue)
- *hue = 171 + 43 * (red - green) / (max - min);
-}
-
-
-static inline gint
-gimp_hsl_value (gdouble n1,
- gdouble n2,
- gdouble hue)
-{
- gdouble value;
-
- if (hue > 255)
- hue -= 255;
- else if (hue < 0)
- hue += 255;
-
- if (hue < 42.5)
- value = n1 + (n2 - n1) * (hue / 42.5);
- else if (hue < 127.5)
- value = n2;
- else if (hue < 170)
- value = n1 + (n2 - n1) * ((170 - hue) / 42.5);
- else
- value = n1;
-
- return value * 255.0;
-}
-
-
-static void
-gimp_hsl_to_rgb (guchar hue,
- guchar sat,
- guchar lum,
- guchar *red,
- guchar *green,
- guchar *blue)
-{
- if (sat == 0) {
- *red = lum;
- *green = lum;
- *blue = lum;
- }
- else {
- gdouble h, s, l, m1, m2;
-
- h = hue;
- s = sat;
- l = lum;
-
- if (l < 128)
- m2 = (l * (255 + s)) / 65025.0;
- else
- m2 = (l + s - (l * s) / 255.0) / 255.0;
-
- m1 = (l / 127.5) - m2;
-
- *red = gimp_hsl_value (m1, m2, h + 85);
- *green = gimp_hsl_value (m1, m2, h);
- *blue = gimp_hsl_value (m1, m2, h - 85);
- }
-}
-
-
static void
_cairo_image_surface_paint_layer (cairo_surface_t *image,
GimpLayer *layer)
diff --git a/extensions/gstreamer_tools/gth-media-viewer-page.c
b/extensions/gstreamer_tools/gth-media-viewer-page.c
index 716cc42..e19e754 100644
--- a/extensions/gstreamer_tools/gth-media-viewer-page.c
+++ b/extensions/gstreamer_tools/gth-media-viewer-page.c
@@ -226,11 +226,12 @@ video_area_draw_cb (GtkWidget *widget,
cairo_fill (cr);
if (self->priv->icon != NULL) {
- int icon_w, icon_h;
- int text_w;
- int icon_x, icon_y;
- PangoRectangle logical_rect;
- int x, y;
+ int icon_w, icon_h;
+ int text_w;
+ int icon_x, icon_y;
+ PangoRectangle logical_rect;
+ int x, y;
+ PangoFontDescription *font;
icon_w = gdk_pixbuf_get_width (self->priv->icon);
icon_h = gdk_pixbuf_get_height (self->priv->icon);
@@ -250,7 +251,8 @@ video_area_draw_cb (GtkWidget *widget,
cairo_fill (cr);
cairo_move_to (cr, x, y);
- pango_layout_set_font_description (self->priv->caption_layout, gtk_style_context_get_font
(style_context, gtk_widget_get_state (widget)));
+ gtk_style_context_get (style_context, gtk_widget_get_state (widget), "font", &font, NULL);
+ pango_layout_set_font_description (self->priv->caption_layout, font);
pango_cairo_layout_path (cr, self->priv->caption_layout);
cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
cairo_fill (cr);
diff --git a/extensions/oauth/oauth-consumer.h b/extensions/oauth/oauth-consumer.h
index 1ecb0de..92d9f04 100644
--- a/extensions/oauth/oauth-consumer.h
+++ b/extensions/oauth/oauth-consumer.h
@@ -24,11 +24,7 @@
#include <glib.h>
-#ifdef HAVE_LIBSOUP_GNOME
-#include <libsoup/soup-gnome.h>
-#else
#include <libsoup/soup.h>
-#endif /* HAVE_LIBSOUP_GNOME */
#include "oauth-account.h"
#include "oauth-service.h"
diff --git a/extensions/oauth/web-service.c b/extensions/oauth/web-service.c
index adb0722..48627ef 100644
--- a/extensions/oauth/web-service.c
+++ b/extensions/oauth/web-service.c
@@ -22,11 +22,7 @@
#include <config.h>
#include <glib.h>
#include <glib/gi18n.h>
-#ifdef HAVE_LIBSOUP_GNOME
-#include <libsoup/soup-gnome.h>
-#else
#include <libsoup/soup.h>
-#endif /* HAVE_LIBSOUP_GNOME */
#ifdef HAVE_LIBSECRET
#include <libsecret/secret.h>
#endif /* HAVE_LIBSECRET */
@@ -844,11 +840,7 @@ _web_service_send_message (WebService *self,
gpointer soup_session_cb_data)
{
if (self->priv->session == NULL) {
- self->priv->session = soup_session_async_new_with_options (
-#ifdef HAVE_LIBSOUP_GNOME
- SOUP_SESSION_ADD_FEATURE_BY_TYPE, SOUP_TYPE_PROXY_RESOLVER_GNOME,
-#endif
- NULL);
+ self->priv->session = soup_session_new ();
#ifdef DEBUG_WEB_CONNECTION
{
diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am
index fe114da..172514b 100644
--- a/gthumb/Makefile.am
+++ b/gthumb/Makefile.am
@@ -25,6 +25,7 @@ PUBLIC_HEADER_FILES = \
$(PUBLIC_BUILT_HEADER_FILES) \
cairo-scale.h \
cairo-utils.h \
+ color-utils.h \
dom.h \
gedit-message-area.h \
gfixed.h \
@@ -157,6 +158,7 @@ gthumb_SOURCES = \
$(RESOURCES) \
cairo-scale.c \
cairo-utils.c \
+ color-utils.c \
dlg-location.c \
dlg-personalize-filters.c \
dlg-preferences.c \
diff --git a/gthumb/color-utils.c b/gthumb/color-utils.c
new file mode 100644
index 0000000..2ff51ee
--- /dev/null
+++ b/gthumb/color-utils.c
@@ -0,0 +1,218 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2012 The Free Software Foundation, Inc.
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include "color-utils.h"
+#include "glib-utils.h"
+
+
+/* RGB <-> HSV */
+
+
+void
+gimp_rgb_to_hsv (guchar red,
+ guchar green,
+ guchar blue,
+ guchar *hue,
+ guchar *sat,
+ guchar *val)
+{
+ guchar min, max;
+
+ min = MIN3 (red, green, blue);
+ max = MAX3 (red, green, blue);
+
+ *val = max;
+ if (*val == 0) {
+ *hue = *sat = 0;
+ return;
+ }
+
+ *sat = 255 * (long)(max - min) / *val;
+ if (*sat == 0) {
+ *hue = 0;
+ return;
+ }
+
+ if (max == min)
+ *hue = 0;
+ else if (max == red)
+ *hue = 0 + 43 * (green - blue) / (max - min);
+ else if (max == green)
+ *hue = 85 + 43 * (blue - red) / (max - min);
+ else if (max == blue)
+ *hue = 171 + 43 * (red - green) / (max - min);
+}
+
+
+void
+gimp_hsv_to_rgb (guchar hue,
+ guchar sat,
+ guchar val,
+ guchar *red,
+ guchar *green,
+ guchar *blue)
+{
+ guchar region, remainder, p, q, t;
+
+ if (sat == 0) {
+ *red = *green = *blue = val;
+ return;
+ }
+
+ region = hue / 43;
+ remainder = (hue - (region * 43)) * 6;
+
+ p = (val * (255 - sat)) >> 8;
+ q = (val * (255 - ((sat * remainder) >> 8))) >> 8;
+ t = (val * (255 - ((sat * (255 - remainder)) >> 8))) >> 8;
+
+ switch (region) {
+ case 0:
+ *red = val;
+ *green = t;
+ *blue = p;
+ break;
+ case 1:
+ *red = q;
+ *green = val;
+ *blue = p;
+ break;
+ case 2:
+ *red = p;
+ *green = val;
+ *blue = t;
+ break;
+ case 3:
+ *red = p;
+ *green = q;
+ *blue = val;
+ break;
+ case 4:
+ *red = t;
+ *green = p;
+ *blue = val;
+ break;
+ default:
+ *red = val;
+ *green = p;
+ *blue = q;
+ break;
+ }
+}
+
+
+/* RGB <-> HSL */
+
+
+void
+gimp_rgb_to_hsl (guchar red,
+ guchar green,
+ guchar blue,
+ guchar *hue,
+ guchar *sat,
+ guchar *lum)
+{
+ guchar min, max;
+
+ min = MIN3 (red, green, blue);
+ max = MAX3 (red, green, blue);
+
+ *lum = (max + min) / 2;
+
+ if (max == min) {
+ *hue = *sat = 0;
+ return;
+ }
+
+ if (*lum < 128)
+ *sat = 255 * (long) (max - min) / (max + min);
+ else
+ *sat = 255 * (long) (max - min) / (512 - max - min);
+
+ if (max == min)
+ *hue = 0;
+ else if (max == red)
+ *hue = 0 + 43 * (green - blue) / (max - min);
+ else if (max == green)
+ *hue = 85 + 43 * (blue - red) / (max - min);
+ else if (max == blue)
+ *hue = 171 + 43 * (red - green) / (max - min);
+}
+
+
+inline gint
+gimp_hsl_value (gdouble n1,
+ gdouble n2,
+ gdouble hue)
+{
+ gdouble value;
+
+ if (hue > 255)
+ hue -= 255;
+ else if (hue < 0)
+ hue += 255;
+
+ if (hue < 42.5)
+ value = n1 + (n2 - n1) * (hue / 42.5);
+ else if (hue < 127.5)
+ value = n2;
+ else if (hue < 170)
+ value = n1 + (n2 - n1) * ((170 - hue) / 42.5);
+ else
+ value = n1;
+
+ return value * 255.0;
+}
+
+
+void
+gimp_hsl_to_rgb (guchar hue,
+ guchar sat,
+ guchar lum,
+ guchar *red,
+ guchar *green,
+ guchar *blue)
+{
+ if (sat == 0) {
+ *red = lum;
+ *green = lum;
+ *blue = lum;
+ }
+ else {
+ gdouble h, s, l, m1, m2;
+
+ h = hue;
+ s = sat;
+ l = lum;
+
+ if (l < 128)
+ m2 = (l * (255 + s)) / 65025.0;
+ else
+ m2 = (l + s - (l * s) / 255.0) / 255.0;
+
+ m1 = (l / 127.5) - m2;
+
+ *red = gimp_hsl_value (m1, m2, h + 85);
+ *green = gimp_hsl_value (m1, m2, h);
+ *blue = gimp_hsl_value (m1, m2, h - 85);
+ }
+}
diff --git a/gthumb/color-utils.h b/gthumb/color-utils.h
new file mode 100644
index 0000000..5915e43
--- /dev/null
+++ b/gthumb/color-utils.h
@@ -0,0 +1,55 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2013 Free Software Foundation, Inc.
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef COLOR_UTILS_H
+#define COLOR_UTILS_H
+
+#include <glib.h>
+
+void gimp_rgb_to_hsv (guchar red,
+ guchar green,
+ guchar blue,
+ guchar *hue,
+ guchar *sat,
+ guchar *val);
+void gimp_hsv_to_rgb (guchar hue,
+ guchar sat,
+ guchar val,
+ guchar *red,
+ guchar *green,
+ guchar *blue);
+void gimp_rgb_to_hsl (guchar red,
+ guchar green,
+ guchar blue,
+ guchar *hue,
+ guchar *sat,
+ guchar *lum);
+int gimp_hsl_value (gdouble n1,
+ gdouble n2,
+ gdouble hue);
+void gimp_hsl_to_rgb (guchar hue,
+ guchar sat,
+ guchar lum,
+ guchar *red,
+ guchar *green,
+ guchar *blue);
+
+#endif /* COLOR_UTILS_H */
diff --git a/gthumb/glib-utils.c b/gthumb/glib-utils.c
index e51c99d..1191302 100644
--- a/gthumb/glib-utils.c
+++ b/gthumb/glib-utils.c
@@ -1165,7 +1165,7 @@ _g_list_insert_list_before (GList *list1,
GHashTable *static_strings = NULL;
-static GStaticMutex static_strings_mutex = G_STATIC_MUTEX_INIT;
+static GMutex static_strings_mutex;
const char *
@@ -1176,7 +1176,7 @@ get_static_string (const char *s)
if (s == NULL)
return NULL;
- g_static_mutex_lock (&static_strings_mutex);
+ g_mutex_lock (&static_strings_mutex);
if (static_strings == NULL)
static_strings = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
@@ -1188,7 +1188,7 @@ get_static_string (const char *s)
GINT_TO_POINTER (1));
}
- g_static_mutex_unlock (&static_strings_mutex);
+ g_mutex_unlock (&static_strings_mutex);
return result;
}
diff --git a/gthumb/glib-utils.h b/gthumb/glib-utils.h
index 0b54fd3..b194a3a 100644
--- a/gthumb/glib-utils.h
+++ b/gthumb/glib-utils.h
@@ -31,8 +31,10 @@ G_BEGIN_DECLS
/* Math */
-#define GDOUBLE_ROUND_TO_INT(x) ((int) floor ((x) + 0.5))
-#define SQR(x) ((x) * (x))
+#define GDOUBLE_ROUND_TO_INT(x) ((int) floor ((x) + 0.5))
+#define SQR(x) ((x) * (x))
+#define MIN3(x,y,z) ((y) <= (z) ? MIN ((x), (y)) : MIN ((x), (z)))
+#define MAX3(x,y,z) ((y) >= (z) ? MAX ((x), (y)) : MAX ((x), (z)))
/* GFile attributes */
diff --git a/gthumb/gth-color-scale.c b/gthumb/gth-color-scale.c
index 6e185cb..b856e5a 100644
--- a/gthumb/gth-color-scale.c
+++ b/gthumb/gth-color-scale.c
@@ -20,6 +20,7 @@
*/
#include <config.h>
+#include "cairo-utils.h"
#include "gth-color-scale.h"
#include "gth-enum-types.h"
diff --git a/gthumb/gth-empty-list.c b/gthumb/gth-empty-list.c
index dfdc3a2..46c86cf 100644
--- a/gthumb/gth-empty-list.c
+++ b/gthumb/gth-empty-list.c
@@ -226,13 +226,15 @@ gth_empty_list_draw (GtkWidget *widget,
allocation.height);
if (self->priv->text != NULL) {
- PangoRectangle bounds;
- GdkRGBA color;
+ PangoRectangle bounds;
+ GdkRGBA color;
+ PangoFontDescription *font;
pango_layout_set_width (self->priv->layout, allocation.width * PANGO_SCALE);
pango_layout_set_text (self->priv->layout, self->priv->text, strlen (self->priv->text));
pango_layout_get_pixel_extents (self->priv->layout, NULL, &bounds);
- pango_layout_set_font_description (self->priv->layout, gtk_style_context_get_font
(style_context, gtk_widget_get_state (widget)));
+ gtk_style_context_get (style_context, gtk_widget_get_state (widget), "font", &font, NULL);
+ pango_layout_set_font_description (self->priv->layout, font);
gtk_style_context_get_color (style_context, gtk_widget_get_state (widget), &color);
gdk_cairo_set_source_rgba (cr, &color);
gtk_render_layout (style_context, cr, 0, (allocation.height - bounds.height) / 2,
self->priv->layout);
diff --git a/gthumb/gth-grid-view.c b/gthumb/gth-grid-view.c
index 9d34055..939d212 100644
--- a/gthumb/gth-grid-view.c
+++ b/gthumb/gth-grid-view.c
@@ -1239,9 +1239,9 @@ _cairo_film_pattern_create (void)
{
static cairo_pattern_t *film_pattern = NULL;
cairo_pattern_t *pattern;
- static GStaticMutex mutex = G_STATIC_MUTEX_INIT;
+ static GMutex mutex;
- g_static_mutex_lock (&mutex);
+ g_mutex_lock (&mutex);
if (film_pattern == NULL) {
char *filename;
cairo_surface_t *surface;
@@ -1257,7 +1257,7 @@ _cairo_film_pattern_create (void)
}
pattern = cairo_pattern_reference (film_pattern);
- g_static_mutex_unlock (&mutex);
+ g_mutex_unlock (&mutex);
return pattern;
}
diff --git a/gthumb/gth-histogram-view.c b/gthumb/gth-histogram-view.c
index dc6f625..b62187e 100644
--- a/gthumb/gth-histogram-view.c
+++ b/gthumb/gth-histogram-view.c
@@ -925,7 +925,7 @@ gth_histogram_view_init (GthHistogramView *self)
self->priv->histogram_view = gtk_drawing_area_new ();
gtk_widget_add_events (self->priv->histogram_view, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK | GDK_STRUCTURE_MASK);
gtk_widget_show (self->priv->histogram_view);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (view_container),
self->priv->histogram_view);
+ gtk_container_add (GTK_CONTAINER (view_container), self->priv->histogram_view);
g_signal_connect (self->priv->histogram_view,
"draw",
diff --git a/gthumb/gth-main.c b/gthumb/gth-main.c
index a0bbdcf..2357217 100644
--- a/gthumb/gth-main.c
+++ b/gthumb/gth-main.c
@@ -41,7 +41,7 @@
#endif
-static GStaticMutex register_mutex = G_STATIC_MUTEX_INIT;
+static GMutex register_mutex;
typedef struct {
@@ -206,12 +206,12 @@ gth_main_register_file_source (GType file_source_type)
{
GObject *file_source;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
file_source = g_object_new (file_source_type, NULL);
Main->priv->file_sources = g_list_append (Main->priv->file_sources, file_source);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
@@ -320,17 +320,17 @@ gth_main_register_metadata_category (GthMetadataCategory *metadata_category)
{
int i;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
for (i = 0; metadata_category[i].id != NULL; i++)
if (gth_main_get_metadata_category (metadata_category[i].id) == NULL)
g_ptr_array_add (Main->priv->metadata_category, &metadata_category[i]);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
-static GStaticMutex metadata_info_mutex = G_STATIC_MUTEX_INIT;
+static GMutex metadata_info_mutex;
GthMetadataInfo *
@@ -341,14 +341,14 @@ gth_main_register_metadata_info (GthMetadataInfo *metadata_info)
if ((metadata_info->display_name != NULL) && (strstr (metadata_info->display_name, "0x") != NULL))
metadata_info->flags = GTH_METADATA_ALLOW_NOWHERE;
- g_static_mutex_lock (&metadata_info_mutex);
+ g_mutex_lock (&metadata_info_mutex);
info = gth_metadata_info_dup (metadata_info);
g_ptr_array_add (Main->priv->metadata_info, info);
g_hash_table_insert (Main->priv->metadata_info_hash, (gpointer) info->id, info);
Main->priv->metadata_info_sorted = FALSE;
- g_static_mutex_unlock (&metadata_info_mutex);
+ g_mutex_unlock (&metadata_info_mutex);
return info;
}
@@ -359,7 +359,7 @@ gth_main_register_metadata_info_v (GthMetadataInfo metadata_info[])
{
int i;
- g_static_mutex_lock (&metadata_info_mutex);
+ g_mutex_lock (&metadata_info_mutex);
for (i = 0; metadata_info[i].id != NULL; i++)
if ((metadata_info[i].display_name == NULL) || (strstr (metadata_info[i].display_name, "0x")
== NULL)) {
@@ -369,7 +369,7 @@ gth_main_register_metadata_info_v (GthMetadataInfo metadata_info[])
g_hash_table_insert (Main->priv->metadata_info_hash, (gpointer)
(&metadata_info[i])->id, &metadata_info[i]);
}
- g_static_mutex_unlock (&metadata_info_mutex);
+ g_mutex_unlock (&metadata_info_mutex);
}
@@ -378,12 +378,12 @@ gth_main_register_metadata_provider (GType metadata_provider_type)
{
GObject *metadata;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
metadata = g_object_new (metadata_provider_type, NULL);
Main->priv->metadata_provider = g_list_append (Main->priv->metadata_provider, metadata);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
@@ -425,7 +425,7 @@ gth_main_get_metadata_attributes (const char *mask)
GList *scan;
char **values;
- g_static_mutex_lock (&metadata_info_mutex);
+ g_mutex_lock (&metadata_info_mutex);
if (! Main->priv->metadata_info_sorted) {
g_ptr_array_sort (Main->priv->metadata_info, metadata_info_sort_func);
@@ -443,7 +443,7 @@ gth_main_get_metadata_attributes (const char *mask)
}
list = g_list_reverse (list);
- g_static_mutex_unlock (&metadata_info_mutex);
+ g_mutex_unlock (&metadata_info_mutex);
values = g_new (char *, n + 1);
for (i = 0, scan = list; scan; i++, scan = scan->next)
@@ -539,7 +539,7 @@ gth_main_get_all_metadata_info (void)
GList *list = NULL;
int i;
- g_static_mutex_lock (&metadata_info_mutex);
+ g_mutex_lock (&metadata_info_mutex);
for (i = 0; i < Main->priv->metadata_info->len; i++) {
GthMetadataInfo *metadata_info = g_ptr_array_index (Main->priv->metadata_info, i);
@@ -548,7 +548,7 @@ gth_main_get_all_metadata_info (void)
}
list = g_list_reverse (list);
- g_static_mutex_unlock (&metadata_info_mutex);
+ g_mutex_unlock (&metadata_info_mutex);
return list;
}
@@ -557,9 +557,9 @@ gth_main_get_all_metadata_info (void)
void
gth_main_register_sort_type (GthFileDataSort *sort_type)
{
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
g_hash_table_insert (Main->priv->sort_types, (gpointer) sort_type->name, sort_type);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
@@ -682,7 +682,7 @@ gth_main_register_image_loader_func (GthImageLoaderFunc loader,
va_list var_args;
const char *mime_type;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
va_start (var_args, first_mime_type);
mime_type = first_mime_type;
@@ -692,7 +692,7 @@ gth_main_register_image_loader_func (GthImageLoaderFunc loader,
}
va_end (var_args);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
@@ -703,12 +703,12 @@ gth_main_register_image_loader_func_v (GthImageLoaderFunc loader,
{
int i;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
for (i = 0; mime_types[i] != NULL; i++)
_register_image_loader_func (loader, native_format, mime_types[i]);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
@@ -864,7 +864,7 @@ gth_main_register_type (const char *set_name,
{
GArray *set;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
if (Main->priv->types == NULL)
Main->priv->types = g_hash_table_new_full (g_str_hash,
@@ -880,7 +880,7 @@ gth_main_register_type (const char *set_name,
g_array_append_val (set, object_type);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
@@ -912,7 +912,7 @@ gth_main_register_object (GType superclass_type,
GthTypeSpec *spec;
char *id;
- g_static_mutex_lock (®ister_mutex);
+ g_mutex_lock (®ister_mutex);
if (object_id == NULL)
object_id = g_type_name (object_type);
@@ -951,7 +951,7 @@ gth_main_register_object (GType superclass_type,
g_hash_table_insert (object_hash, id, spec);
g_ptr_array_add (object_order, id);
- g_static_mutex_unlock (®ister_mutex);
+ g_mutex_unlock (®ister_mutex);
}
diff --git a/gthumb/gth-toolbox.c b/gthumb/gth-toolbox.c
index 843140f..4cc3ae4 100644
--- a/gthumb/gth-toolbox.c
+++ b/gthumb/gth-toolbox.c
@@ -144,7 +144,7 @@ gth_toolbox_init (GthToolbox *toolbox)
toolbox->priv->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_set_spacing (GTK_BOX (toolbox->priv->box), 0);
gtk_widget_show (toolbox->priv->box);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled), toolbox->priv->box);
+ gtk_container_add (GTK_CONTAINER (scrolled), toolbox->priv->box);
/* tool options page */
@@ -206,7 +206,7 @@ child_show_options_cb (GtkWidget *tool,
markup = g_markup_printf_escaped ("<span size='large' weight='bold'>%s</span>",
gth_file_tool_get_options_title (GTH_FILE_TOOL (tool)));
gtk_label_set_markup (GTK_LABEL (toolbox->priv->options_title), markup);
gtk_image_set_from_icon_name (GTK_IMAGE (toolbox->priv->options_icon), gth_file_tool_get_icon_name
(GTH_FILE_TOOL (tool)), GTK_ICON_SIZE_LARGE_TOOLBAR);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (toolbox->priv->options), options);
+ gtk_container_add (GTK_CONTAINER (toolbox->priv->options), options);
gtk_notebook_set_current_page (GTK_NOTEBOOK (toolbox), GTH_TOOLBOX_OPTIONS_PAGE);
g_free (markup);
diff --git a/gthumb/gtk-utils.c b/gthumb/gtk-utils.c
index b92336c..401cc1b 100644
--- a/gthumb/gtk-utils.c
+++ b/gthumb/gtk-utils.c
@@ -21,6 +21,7 @@
#include <config.h>
#include <string.h>
+#include "color-utils.h"
#include "gth-image-utils.h"
#include "gtk-utils.h"
@@ -447,7 +448,7 @@ _g_icon_get_pixbuf (GIcon *icon,
g_error_free (error);
}
- gtk_icon_info_free (icon_info);
+ g_object_unref (icon_info);
}
return pixbuf;
@@ -968,19 +969,31 @@ _gdk_rgba_shade (GdkRGBA *color,
GdkRGBA *result,
gdouble factor)
{
- GtkSymbolicColor *sym_color;
- GtkSymbolicColor *sym_result;
- gboolean retval;
+ guchar hue, sat, lum;
+ guchar red, green, blue;
+ double tmp;
- sym_color = gtk_symbolic_color_new_literal (color);
- sym_result = gtk_symbolic_color_new_shade (sym_color, factor);
+ gimp_rgb_to_hsl (color->red * 255,
+ color->green * 255,
+ color->blue * 255,
+ &hue,
+ &sat,
+ &lum);
- retval = gtk_symbolic_color_resolve (sym_result, NULL, result);
+ tmp = factor * (double) sat;
+ sat = (guchar) CLAMP (tmp, 0, 255);
- gtk_symbolic_color_unref (sym_result);
- gtk_symbolic_color_unref (sym_color);
+ tmp = factor * (double) lum;
+ lum = (guchar) CLAMP (tmp, 0, 255);
- return retval;
+ gimp_hsl_to_rgb (hue, sat, lum, &red, &green, &blue);
+
+ result->red = (double) red / 255.0;
+ result->green = (double) green / 255.0;
+ result->blue = (double) blue / 255.0;
+ result->alpha = color->alpha;
+
+ return TRUE;
}
diff --git a/gthumb/main.c b/gthumb/main.c
index b24468d..9392a7d 100644
--- a/gthumb/main.c
+++ b/gthumb/main.c
@@ -718,8 +718,6 @@ main (int argc, char *argv[])
program_argv0 = argv[0];
- g_type_init ();
-
/* text domain */
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e057d77..654e9a5 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -643,6 +643,8 @@ gthumb/cairo-scale.c
gthumb/cairo-scale.h
gthumb/cairo-utils.c
gthumb/cairo-utils.h
+gthumb/color-utils.c
+gthumb/color-utils.h
gthumb/dlg-location.c
gthumb/dlg-location.h
gthumb/dlg-personalize-filters.c
diff --git a/tests/dom-test.c b/tests/dom-test.c
index 9b62d98..e5d5a84 100644
--- a/tests/dom-test.c
+++ b/tests/dom-test.c
@@ -23,17 +23,17 @@
#include "dom.h"
-static void
-compare_loaded_and_dumped_xml (DomDocument *doc)
+static void
+compare_loaded_and_dumped_xml (DomDocument *doc)
{
char *xml;
gsize len;
DomDocument *loaded_doc;
char *loaded_xml;
-
+
xml = dom_document_dump (doc, &len);
/*g_print ("%s", xml);*/
-
+
loaded_doc = dom_document_new ();
dom_document_load (loaded_doc, xml, len, NULL);
loaded_xml = dom_document_dump (loaded_doc, NULL);
@@ -47,12 +47,12 @@ compare_loaded_and_dumped_xml (DomDocument *doc)
}
-static void
+static void
check_dumped_xml (DomDocument *doc,
- const char *expected_xml)
+ const char *expected_xml)
{
char *xml;
-
+
xml = dom_document_dump (doc, NULL);
/*g_print ("%s", xml);*/
g_assert_cmpstr (xml, ==, expected_xml);
@@ -61,39 +61,39 @@ check_dumped_xml (DomDocument *doc,
static void
-test_dom_1 (void)
+test_dom_1 (void)
{
DomDocument *doc;
-
- doc = dom_document_new ();
-
+
+ doc = dom_document_new ();
+
compare_loaded_and_dumped_xml (doc);
check_dumped_xml (doc, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
-
+
g_object_unref (doc);
}
static void
-test_dom_2 (void)
+test_dom_2 (void)
{
DomDocument *doc;
DomElement *filters;
-
- doc = dom_document_new ();
- filters = dom_document_create_element (doc, "filters", "version", "1.0", NULL);
+
+ doc = dom_document_new ();
+ filters = dom_document_create_element (doc, "filters", "version", "1.0", NULL);
dom_element_append_child (DOM_ELEMENT (doc), filters);
-
- compare_loaded_and_dumped_xml (doc);
+
+ compare_loaded_and_dumped_xml (doc);
check_dumped_xml (doc, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<filters version=\"1.0\"/>\n");
-
+
g_object_unref (doc);
}
static void
-test_dom_3 (void)
+test_dom_3 (void)
{
DomDocument *doc;
DomElement *filters;
@@ -101,39 +101,39 @@ test_dom_3 (void)
DomElement *match;
DomElement *test;
DomElement *limit;
-
- doc = dom_document_new ();
- filters = dom_document_create_element (doc, "filters", NULL);
+
+ doc = dom_document_new ();
+ filters = dom_document_create_element (doc, "filters", NULL);
dom_element_set_attribute (filters, "version", "1.0");
dom_element_append_child (DOM_ELEMENT (doc), filters);
-
+
filter = dom_document_create_element (doc, "filter", NULL);
dom_element_set_attribute (filter, "name", "test1");
dom_element_append_child (filters, filter);
-
+
match = dom_document_create_element (doc, "match", NULL);
dom_element_set_attribute (match, "type", "all");
dom_element_append_child (filter, match);
-
+
test = dom_document_create_element (doc, "test", NULL);
dom_element_set_attribute (test, "id", "::filesize");
dom_element_set_attribute (test, "op", "lt");
dom_element_set_attribute (test, "value", "10");
dom_element_set_attribute (test, "unit", "kB");
dom_element_append_child (match, test);
-
+
test = dom_document_create_element (doc, "test", NULL);
dom_element_set_attribute (test, "id", "::filename");
dom_element_set_attribute (test, "op", "contains");
dom_element_set_attribute (test, "value", "logo");
dom_element_append_child (match, test);
-
+
limit = dom_document_create_element (doc, "limit", NULL);
dom_element_set_attribute (limit, "value", "25");
dom_element_set_attribute (limit, "type", "files");
dom_element_set_attribute (limit, "selected_by", "more_recent");
dom_element_append_child (filter, limit);
-
+
filter = dom_document_create_element (doc, "filter", NULL);
dom_element_set_attribute (filter, "name", "test2");
dom_element_append_child (filters, filter);
@@ -143,9 +143,9 @@ test_dom_3 (void)
dom_element_set_attribute (limit, "type", "files");
dom_element_set_attribute (limit, "selected_by", "more_recent");
dom_element_append_child (filter, limit);
-
+
compare_loaded_and_dumped_xml (doc);
-
+
check_dumped_xml (doc, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<filters version=\"1.0\">\n"
" <filter name=\"test1\">\n"
@@ -159,21 +159,20 @@ test_dom_3 (void)
" <limit value=\"25\" type=\"files\" selected_by=\"more_recent\"/>\n"
" </filter>\n"
"</filters>\n");
-
+
g_object_unref (doc);
}
-int
+int
main (int argc,
char *argv[])
{
- g_type_init ();
g_test_init (&argc, &argv, NULL);
-
+
g_test_add_func ("/dom/1", test_dom_1);
g_test_add_func ("/dom/2", test_dom_2);
g_test_add_func ("/dom/3", test_dom_3);
-
+
return g_test_run ();
}
diff --git a/tests/glib-utils-test.c b/tests/glib-utils-test.c
index 4246453..4e8a2c4 100644
--- a/tests/glib-utils-test.c
+++ b/tests/glib-utils-test.c
@@ -72,7 +72,6 @@ int
main (int argc,
char *argv[])
{
- g_type_init ();
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/glib-utils/_g_rand_string/1", test_g_rand_string);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]