Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
and completely separate configure and sanity checks for gdk-pixbuf from GTK+, because it's now distributed as a separate package. Remove all sorts of conditional compiling based on GDK_CHECK_VERSION() and CAIRO_VERSION.
This commit is contained in:
@ -24,23 +24,6 @@
|
||||
#include "display/display-enums.h"
|
||||
|
||||
|
||||
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 15)
|
||||
#define USE_CAIRO_REGION
|
||||
#endif
|
||||
|
||||
#ifndef USE_CAIRO_REGION
|
||||
#define cairo_region_t GdkRegion
|
||||
#define cairo_rectangle_int_t GdkRectangle
|
||||
#define cairo_region_destroy gdk_region_destroy
|
||||
#define cairo_region_union gdk_region_union
|
||||
#define cairo_region_create_rectangle gdk_region_rectangle
|
||||
#define cairo_region_union_rectangle gdk_region_union_with_rect
|
||||
#define cairo_region_get_extents gdk_region_get_clipbox
|
||||
#define cairo_region_subtract gdk_region_subtract
|
||||
#define cairo_region_xor gdk_region_xor
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct _GimpCanvas GimpCanvas;
|
||||
typedef struct _GimpCanvasItem GimpCanvasItem;
|
||||
typedef struct _GimpCanvasGroup GimpCanvasGroup;
|
||||
|
@ -41,37 +41,30 @@ void
|
||||
gimp_display_shell_expose_region (GimpDisplayShell *shell,
|
||||
cairo_region_t *region)
|
||||
{
|
||||
GdkRegion *gdk_region = gdk_region_new ();
|
||||
gint n_rectangles;
|
||||
gint i;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
g_return_if_fail (region != NULL);
|
||||
|
||||
if (! gtk_widget_get_realized (shell->canvas))
|
||||
return;
|
||||
|
||||
#ifdef USE_CAIRO_REGION
|
||||
{
|
||||
GdkRegion *gdk_region = gdk_region_new ();
|
||||
gint n_rectangles;
|
||||
gint i;
|
||||
n_rectangles = cairo_region_num_rectangles (region);
|
||||
|
||||
n_rectangles = cairo_region_num_rectangles (region);
|
||||
for (i = 0; i < n_rectangles; i++)
|
||||
{
|
||||
cairo_rectangle_int_t rectangle;
|
||||
|
||||
for (i = 0; i < n_rectangles; i++)
|
||||
{
|
||||
cairo_rectangle_int_t rectangle;
|
||||
cairo_region_get_rectangle (region, i, &rectangle);
|
||||
|
||||
cairo_region_get_rectangle (region, i, &rectangle);
|
||||
gdk_region_union_with_rect (gdk_region, (GdkRectangle *) &rectangle);
|
||||
}
|
||||
|
||||
gdk_region_union_with_rect (gdk_region, (GdkRectangle *) &rectangle);
|
||||
}
|
||||
|
||||
gdk_window_invalidate_region (gtk_widget_get_window (shell->canvas),
|
||||
gdk_region, TRUE);
|
||||
gdk_region_destroy (gdk_region);
|
||||
}
|
||||
#else
|
||||
gdk_window_invalidate_region (gtk_widget_get_window (shell->canvas),
|
||||
region, TRUE);
|
||||
#endif
|
||||
gdk_region, TRUE);
|
||||
gdk_region_destroy (gdk_region);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -251,8 +251,8 @@ static gchar *
|
||||
gui_sanity_check (void)
|
||||
{
|
||||
#define GTK_REQUIRED_MAJOR 2
|
||||
#define GTK_REQUIRED_MINOR 20
|
||||
#define GTK_REQUIRED_MICRO 0
|
||||
#define GTK_REQUIRED_MINOR 24
|
||||
#define GTK_REQUIRED_MICRO 3
|
||||
|
||||
const gchar *mismatch = gtk_check_version (GTK_REQUIRED_MAJOR,
|
||||
GTK_REQUIRED_MINOR,
|
||||
|
39
app/sanity.c
39
app/sanity.c
@ -21,6 +21,7 @@
|
||||
#include <fontconfig/fontconfig.h>
|
||||
#include <pango/pango.h>
|
||||
#include <pango/pangoft2.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <gegl.h>
|
||||
|
||||
#include "libgimpbase/gimpbase.h"
|
||||
@ -36,6 +37,7 @@ static gchar * sanity_check_cairo (void);
|
||||
static gchar * sanity_check_pango (void);
|
||||
static gchar * sanity_check_fontconfig (void);
|
||||
static gchar * sanity_check_freetype (void);
|
||||
static gchar * sanity_check_gdk_pixbuf (void);
|
||||
static gchar * sanity_check_babl (void);
|
||||
static gchar * sanity_check_gegl (void);
|
||||
static gchar * sanity_check_filename_encoding (void);
|
||||
@ -63,6 +65,9 @@ sanity_check (void)
|
||||
if (! abort_message)
|
||||
abort_message = sanity_check_freetype ();
|
||||
|
||||
if (! abort_message)
|
||||
abort_message = sanity_check_gdk_pixbuf ();
|
||||
|
||||
if (! abort_message)
|
||||
abort_message = sanity_check_babl ();
|
||||
|
||||
@ -158,8 +163,8 @@ static gchar *
|
||||
sanity_check_cairo (void)
|
||||
{
|
||||
#define CAIRO_REQUIRED_MAJOR 1
|
||||
#define CAIRO_REQUIRED_MINOR 8
|
||||
#define CAIRO_REQUIRED_MICRO 0
|
||||
#define CAIRO_REQUIRED_MINOR 10
|
||||
#define CAIRO_REQUIRED_MICRO 2
|
||||
|
||||
if (cairo_version () < CAIRO_VERSION_ENCODE (CAIRO_REQUIRED_MAJOR,
|
||||
CAIRO_REQUIRED_MINOR,
|
||||
@ -307,6 +312,36 @@ sanity_check_freetype (void)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static gchar *
|
||||
sanity_check_gdk_pixbuf (void)
|
||||
{
|
||||
#define GDK_PIXBUF_REQUIRED_MAJOR 2
|
||||
#define GDK_PIXBUF_REQUIRED_MINOR 22
|
||||
#define GDK_PIXBUF_REQUIRED_MICRO 1
|
||||
|
||||
if (! sanity_check_version (gdk_pixbuf_major_version, GDK_PIXBUF_REQUIRED_MAJOR,
|
||||
gdk_pixbuf_minor_version, GDK_PIXBUF_REQUIRED_MINOR,
|
||||
gdk_pixbuf_micro_version, GDK_PIXBUF_REQUIRED_MICRO))
|
||||
{
|
||||
return g_strdup_printf
|
||||
("GdkPixbuf version too old!\n\n"
|
||||
"GIMP requires GdkPixbuf version %d.%d.%d or later.\n"
|
||||
"Installed GdkPixbuf version is %d.%d.%d.\n\n"
|
||||
"Somehow you or your software packager managed\n"
|
||||
"to install GIMP with an older GdkPixbuf version.\n\n"
|
||||
"Please upgrade to GdkPixbuf version %d.%d.%d or later.",
|
||||
GDK_PIXBUF_REQUIRED_MAJOR, GDK_PIXBUF_REQUIRED_MINOR, GDK_PIXBUF_REQUIRED_MICRO,
|
||||
gdk_pixbuf_major_version, gdk_pixbuf_minor_version, gdk_pixbuf_micro_version,
|
||||
GDK_PIXBUF_REQUIRED_MAJOR, GDK_PIXBUF_REQUIRED_MINOR, GDK_PIXBUF_REQUIRED_MICRO);
|
||||
}
|
||||
|
||||
#undef GDK_PIXBUF_REQUIRED_MAJOR
|
||||
#undef GDK_PIXBUF_REQUIRED_MINOR
|
||||
#undef GDK_PIXBUF_REQUIRED_MICRO
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static gchar *
|
||||
sanity_check_babl (void)
|
||||
{
|
||||
|
@ -257,14 +257,8 @@ gimp_overlay_child_size_allocate (GimpOverlayBox *box,
|
||||
gdk_window_get_position (child->window,
|
||||
&old_allocation.x,
|
||||
&old_allocation.y);
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
old_allocation.width = gdk_window_get_width (child->window);
|
||||
old_allocation.height = gdk_window_get_height (child->window);
|
||||
#else
|
||||
gdk_drawable_get_size (child->window,
|
||||
&old_allocation.width,
|
||||
&old_allocation.height);
|
||||
#endif
|
||||
|
||||
gimp_overlay_child_transform_bounds (child, &old_allocation, &old_bounds);
|
||||
|
||||
|
@ -235,12 +235,8 @@ gimp_spin_scale_expose (GtkWidget *widget,
|
||||
gdk_cairo_region (cr, event->region);
|
||||
cairo_clip (cr);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
w = gdk_window_get_width (event->window);
|
||||
h = gdk_window_get_height (event->window);
|
||||
#else
|
||||
gdk_drawable_get_size (event->window, &w, &h);
|
||||
#endif
|
||||
|
||||
cairo_set_line_width (cr, 1.0);
|
||||
|
||||
@ -334,11 +330,7 @@ gimp_spin_scale_change_value (GtkWidget *widget,
|
||||
gint width;
|
||||
gdouble value;
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
width = gdk_window_get_width (text_window);
|
||||
#else
|
||||
gdk_drawable_get_size (text_window, &width, NULL);
|
||||
#endif
|
||||
|
||||
if (private->relative_change)
|
||||
{
|
||||
|
@ -1296,13 +1296,8 @@ gimp_tag_entry_expose (GtkWidget *widget,
|
||||
pango_layout_set_attributes (layout, attr_list);
|
||||
pango_attr_list_unref (attr_list);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
window_width = gdk_window_get_width (event->window);
|
||||
window_height = gdk_window_get_height (event->window);
|
||||
#else
|
||||
gdk_drawable_get_size (GDK_DRAWABLE (event->window),
|
||||
&window_width, &window_height);
|
||||
#endif
|
||||
pango_layout_get_size (layout,
|
||||
&layout_width, &layout_height);
|
||||
offset = (window_height - PANGO_PIXELS (layout_height)) / 2;
|
||||
|
@ -868,8 +868,6 @@ gimp_window_transient_realized (GtkWidget *window,
|
||||
static GdkWindow *
|
||||
gimp_get_foreign_window (guint32 window)
|
||||
{
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
return gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
|
||||
window);
|
||||
@ -880,15 +878,6 @@ gimp_get_foreign_window (guint32 window)
|
||||
window);
|
||||
#endif
|
||||
|
||||
#else /* ! GTK_CHECK_VERSION (2, 24, 0) */
|
||||
|
||||
#ifndef GDK_NATIVE_WINDOW_POINTER
|
||||
return gdk_window_foreign_new_for_display (gdk_display_get_default (),
|
||||
window);
|
||||
#endif
|
||||
|
||||
#endif /* GTK_CHECK_VERSION (2, 24, 0) */
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
22
configure.ac
22
configure.ac
@ -43,10 +43,10 @@ m4_define([gimp_full_name], [GNU Image Manipulation Program])
|
||||
m4_define([babl_required_version], [0.1.4])
|
||||
m4_define([gegl_required_version], [0.1.6])
|
||||
m4_define([glib_required_version], [2.28.1])
|
||||
m4_define([gtk_required_version], [2.20.0])
|
||||
m4_define([gdk_pixbuf_required_version], [gtk_required_version])
|
||||
m4_define([cairo_required_version], [1.8.0])
|
||||
m4_define([cairo_pdf_required_version], [1.8.0])
|
||||
m4_define([gtk_required_version], [2.24.3])
|
||||
m4_define([gdk_pixbuf_required_version], [2.22.1])
|
||||
m4_define([cairo_required_version], [1.10.2])
|
||||
m4_define([cairo_pdf_required_version], [1.10.2])
|
||||
m4_define([pangocairo_required_version], [1.22.0])
|
||||
m4_define([fontconfig_required_version], [2.2.0])
|
||||
m4_define([gtkdoc_required_version], [1.0])
|
||||
@ -520,6 +520,14 @@ if test "x$GDK_PIXBUF_CSOURCE" = xno; then
|
||||
AC_MSG_ERROR(Could not find gdk-pixbuf-csource in your PATH)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if GdkPixbuf is version 2.26.0 or newer])
|
||||
if $PKG_CONFIG --atleast-version=2.26.0 gdk-pixbuf-2.0; then
|
||||
have_gdk_pixbuf_2_26=yes
|
||||
else
|
||||
have_gdk_pixbuf_2_26=no
|
||||
fi
|
||||
AC_MSG_RESULT($have_gdk_pixbuf_2_26)
|
||||
|
||||
PKG_CHECK_MODULES(CAIRO, cairo >= cairo_required_version)
|
||||
|
||||
PKG_CHECK_MODULES(PANGOCAIRO,
|
||||
@ -1950,7 +1958,11 @@ if test "x$have_glib_2_32" != "xyes"; then
|
||||
fi
|
||||
|
||||
if test "x$have_gtk_2_26" != "xyes"; then
|
||||
CPPFLAGS="${CPPFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
|
||||
CPPFLAGS="${CPPFLAGS} -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
|
||||
fi
|
||||
|
||||
if test "x$have_gdk_pixbuf_2_26" != "xyes"; then
|
||||
CPPFLAGS="${CPPFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED"
|
||||
fi
|
||||
|
||||
if test "x$have_pango_1_32" != "xyes"; then
|
||||
|
@ -149,8 +149,6 @@ gimp_ui_init (const gchar *prog_name,
|
||||
static GdkWindow *
|
||||
gimp_ui_get_foreign_window (guint32 window)
|
||||
{
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
return gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
|
||||
window);
|
||||
@ -161,15 +159,6 @@ gimp_ui_get_foreign_window (guint32 window)
|
||||
window);
|
||||
#endif
|
||||
|
||||
#else /* ! GTK_CHECK_VERSION (2, 24, 0) */
|
||||
|
||||
#ifndef GDK_NATIVE_WINDOW_POINTER
|
||||
return gdk_window_foreign_new_for_display (gdk_display_get_default (),
|
||||
window);
|
||||
#endif
|
||||
|
||||
#endif /* GTK_CHECK_VERSION (2, 24, 0) */
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -556,17 +556,10 @@ gimp_prop_boolean_combo_box_new (GObject *config,
|
||||
property_name, &value,
|
||||
NULL);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
combo_box = gtk_combo_box_text_new ();
|
||||
|
||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), true_text);
|
||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), false_text);
|
||||
#else
|
||||
combo_box = gtk_combo_box_new_text ();
|
||||
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), true_text);
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), false_text);
|
||||
#endif
|
||||
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), value ? 0 : 1);
|
||||
|
||||
|
@ -404,7 +404,6 @@ gtk_widget_get_translation_to_window (GtkWidget *widget,
|
||||
|
||||
widget_window = gtk_widget_get_window (widget);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 22, 0)
|
||||
for (w = window;
|
||||
w && w != widget_window;
|
||||
w = gdk_window_get_effective_parent (w))
|
||||
@ -416,15 +415,6 @@ gtk_widget_get_translation_to_window (GtkWidget *widget,
|
||||
*x += px;
|
||||
*y += py;
|
||||
}
|
||||
#else
|
||||
for (w = window; w && w != widget_window; w = gdk_window_get_parent (w))
|
||||
{
|
||||
int wx, wy;
|
||||
gdk_window_get_position (w, &wx, &wy);
|
||||
*x += wx;
|
||||
*y += wy;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (w == NULL)
|
||||
{
|
||||
|
@ -649,11 +649,7 @@ build_dialog (GimpImageBaseType basetype,
|
||||
gtk_box_pack_end (GTK_BOX (hbox), progress, TRUE, TRUE, 0);
|
||||
gtk_widget_show (progress);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
speedcombo = gtk_combo_box_text_new ();
|
||||
#else
|
||||
speedcombo = gtk_combo_box_new_text ();
|
||||
#endif
|
||||
gtk_box_pack_end (GTK_BOX (hbox), speedcombo, FALSE, FALSE, 0);
|
||||
gtk_widget_show (speedcombo);
|
||||
|
||||
@ -663,11 +659,7 @@ build_dialog (GimpImageBaseType basetype,
|
||||
|
||||
/* list is given in "fps" - frames per second */
|
||||
text = g_strdup_printf (_("%d fps"), get_fps (index));
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (speedcombo), text);
|
||||
#else
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (speedcombo), text);
|
||||
#endif
|
||||
g_free (text);
|
||||
}
|
||||
|
||||
@ -679,11 +671,7 @@ build_dialog (GimpImageBaseType basetype,
|
||||
|
||||
gimp_help_set_help_data (speedcombo, _("Default framerate"), NULL);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
speedcombo = gtk_combo_box_text_new ();
|
||||
#else
|
||||
speedcombo = gtk_combo_box_new_text ();
|
||||
#endif
|
||||
gtk_box_pack_end (GTK_BOX (hbox), speedcombo, FALSE, FALSE, 0);
|
||||
gtk_widget_show (speedcombo);
|
||||
|
||||
@ -692,11 +680,7 @@ build_dialog (GimpImageBaseType basetype,
|
||||
gchar *text;
|
||||
|
||||
text = g_strdup_printf ("%g\303\227", (100 / get_duration_factor (index)) / 100);
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (speedcombo), text);
|
||||
#else
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (speedcombo), text);
|
||||
#endif
|
||||
g_free (text);
|
||||
}
|
||||
|
||||
|
@ -1060,20 +1060,11 @@ gih_save_dialog (gint32 image_ID)
|
||||
cellw_adjust.rank0 = cellh_adjust.rank0 = NULL;
|
||||
}
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
cb = gtk_combo_box_text_new ();
|
||||
#else
|
||||
cb = gtk_combo_box_new_text ();
|
||||
#endif
|
||||
|
||||
for (j = 0; j < G_N_ELEMENTS (selection_modes); j++)
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb),
|
||||
selection_modes[j]);
|
||||
#else
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (cb), selection_modes[j]);
|
||||
#endif
|
||||
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX (cb), 2); /* random */
|
||||
|
||||
if (gihparams.selection[i])
|
||||
|
@ -3196,7 +3196,6 @@ load_dialog (const gchar *filename,
|
||||
gimp_help_set_help_data (GTK_WIDGET (entry),
|
||||
_("Pages to load (e.g.: 1-4 or 1,3,5-7)"), NULL);
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
target = gtk_combo_box_text_new ();
|
||||
gtk_combo_box_text_insert_text (GTK_COMBO_BOX_TEXT (target),
|
||||
GIMP_PAGE_SELECTOR_TARGET_LAYERS,
|
||||
@ -3204,13 +3203,6 @@ load_dialog (const gchar *filename,
|
||||
gtk_combo_box_text_insert_text (GTK_COMBO_BOX_TEXT (target),
|
||||
GIMP_PAGE_SELECTOR_TARGET_IMAGES,
|
||||
_("Images"));
|
||||
#else
|
||||
target = gtk_combo_box_new_text ();
|
||||
gtk_combo_box_insert_text (GTK_COMBO_BOX (target),
|
||||
GIMP_PAGE_SELECTOR_TARGET_LAYERS, _("Layers"));
|
||||
gtk_combo_box_insert_text (GTK_COMBO_BOX (target),
|
||||
GIMP_PAGE_SELECTOR_TARGET_IMAGES, _("Images"));
|
||||
#endif
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX (target), (int) ps_pagemode);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 4,
|
||||
_("Open as"), 0.0, 0.5,
|
||||
|
@ -949,12 +949,8 @@ shoot (GdkScreen *screen)
|
||||
return -1;
|
||||
}
|
||||
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
rect.width = gdk_window_get_width (window);
|
||||
rect.height = gdk_window_get_height (window);
|
||||
#else
|
||||
gdk_drawable_get_size (GDK_DRAWABLE (window), &rect.width, &rect.height);
|
||||
#endif
|
||||
gdk_window_get_origin (window, &x, &y);
|
||||
|
||||
rect.x = x;
|
||||
|
@ -503,22 +503,13 @@ script_fu_interface (SFScript *script,
|
||||
break;
|
||||
|
||||
case SF_OPTION:
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
widget = gtk_combo_box_text_new ();
|
||||
#else
|
||||
widget = gtk_combo_box_new_text ();
|
||||
#endif
|
||||
for (list = arg->default_value.sfa_option.list;
|
||||
list;
|
||||
list = g_slist_next (list))
|
||||
{
|
||||
#if GTK_CHECK_VERSION (2, 24, 0)
|
||||
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget),
|
||||
gettext (list->data));
|
||||
#else
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (widget),
|
||||
gettext (list->data));
|
||||
#endif
|
||||
}
|
||||
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX (widget),
|
||||
|
Reference in New Issue
Block a user