[geany/geany-plugins] 3f3cfd: Added GTK+3 compatibility to the 'Debugger' plugin.
Benjamin Gaillard
git-noreply at xxxxx
Fri May 10 08:33:39 UTC 2019
Branch: refs/heads/master
Author: Benjamin Gaillard <git at benjamin.gaillard.name>
Committer: Benjamin Gaillard <git at benjamin.gaillard.name>
Date: Mon, 18 Feb 2019 09:18:46 UTC
Commit: 3f3cfd9d148259c4fd6f18d9c077fe995cbb1f6b
https://github.com/geany/geany-plugins/commit/3f3cfd9d148259c4fd6f18d9c077fe995cbb1f6b
Log Message:
-----------
Added GTK+3 compatibility to the 'Debugger' plugin.
Modified Paths:
--------------
build/debugger.m4
debugger/src/Makefile.am
debugger/src/btnpanel.c
debugger/src/cell_renderers/cellrendererbreakicon.c
debugger/src/cell_renderers/cellrendererbreakicon.h
debugger/src/cell_renderers/cellrendererframeicon.c
debugger/src/cell_renderers/cellrendererframeicon.h
debugger/src/cell_renderers/cellrenderertoggle.c
debugger/src/cell_renderers/cellrenderertoggle.h
debugger/src/dconfig.c
debugger/src/debug.c
debugger/src/dpaned.c
debugger/src/gui.c
debugger/src/plugin.c
debugger/src/stree.c
debugger/src/tpage.c
Modified: build/debugger.m4
9 lines changed, 7 insertions(+), 2 deletions(-)
===================================================================
@@ -1,10 +1,15 @@
AC_DEFUN([GP_CHECK_DEBUGGER],
[
GP_ARG_DISABLE([Debugger], [auto])
- GP_CHECK_PLUGIN_GTK2_ONLY([Debugger])
+
+ GP_CHECK_UTILSLIB([Debugger])
+ GP_CHECK_UTILSLIB_VTECOMPAT([Debugger])
+ GP_CHECK_GTK3([vte_package=vte-2.91 vte_version=0.46],
+ [vte_package=vte vte_version=0.24])
GP_CHECK_PLUGIN_DEPS([debugger], [VTE],
- [vte >= 0.24])
+ [${vte_package} >= ${vte_version}])
AC_CHECK_HEADERS([util.h pty.h libutil.h])
+
GP_COMMIT_PLUGIN_STATUS([Debugger])
AC_CONFIG_FILES([
debugger/Makefile
Modified: debugger/src/Makefile.am
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -71,9 +71,9 @@ debugger_la_SOURCES = \
cell_renderers/cellrenderertoggle.c \
cell_renderers/cellrenderertoggle.h
-debugger_la_LIBADD = $(COMMONLIBS) $(VTE_LIBS) -lutil
+debugger_la_LIBADD = $(COMMONLIBS) $(VTE_LIBS) -lutil $(top_builddir)/utils/src/libgeanypluginutils.la
debugger_la_CFLAGS = $(AM_CFLAGS) $(VTE_CFLAGS) -DDBGPLUG_DATA_DIR=\"$(plugindatadir)\" -DPLUGIN_NAME=\"$(plugin)\"
-debugger_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Debugger\"
+debugger_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Debugger\" -I$(top_srcdir)/utils/src
check_PROGRAMS = gdb_mi_test
dist_check_SCRIPTS = tests/gdb_mi_test.sh
Modified: debugger/src/btnpanel.c
25 lines changed, 24 insertions(+), 1 deletions(-)
===================================================================
@@ -82,17 +82,26 @@ static void on_execute_until(GtkButton *button, gpointer user_data)
*/
GtkWidget* btnpanel_create(on_toggle cb)
{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, CP_BUTTONS_PAD);
+ GtkWidget *hbutton_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, CP_BUTTONS_PAD);
+#else
GtkWidget *vbox = gtk_vbox_new(FALSE, CP_BUTTONS_PAD);
-
GtkWidget *hbutton_box = gtk_hbox_new(FALSE, CP_BUTTONS_PAD);
+#endif
runbtn = create_button("run.gif", _("Run"));
g_signal_connect(G_OBJECT(runbtn), "clicked", G_CALLBACK (debug_run), (gpointer)TRUE);
gtk_box_pack_start(GTK_BOX(hbutton_box), runbtn, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbutton_box, FALSE, TRUE, 0);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbutton_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, CP_BUTTONS_PAD);
+ gtk_box_set_homogeneous(GTK_BOX(hbutton_box), TRUE);
+#else
hbutton_box = gtk_hbox_new(TRUE, CP_BUTTONS_PAD);
+#endif
restartbtn = create_button("restart.gif", _("Restart"));
g_signal_connect(G_OBJECT(restartbtn), "clicked", G_CALLBACK (debug_restart), (gpointer)TRUE);
@@ -104,7 +113,12 @@ GtkWidget* btnpanel_create(on_toggle cb)
gtk_box_pack_start(GTK_BOX(hbutton_box), stopbtn, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbutton_box, FALSE, TRUE, 0);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbutton_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, CP_BUTTONS_PAD);
+ gtk_box_set_homogeneous(GTK_BOX(hbutton_box), TRUE);
+#else
hbutton_box = gtk_hbox_new(TRUE, CP_BUTTONS_PAD);
+#endif
stepoverbtn = create_button("step_over.gif", _("Step over"));
g_signal_connect(G_OBJECT(stepoverbtn), "clicked", G_CALLBACK (debug_step_over), (gpointer)TRUE);
@@ -116,7 +130,12 @@ GtkWidget* btnpanel_create(on_toggle cb)
gtk_box_pack_start(GTK_BOX(hbutton_box), stepinbtn, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbutton_box, FALSE, TRUE, 0);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbutton_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, CP_BUTTONS_PAD);
+ gtk_box_set_homogeneous(GTK_BOX(hbutton_box), TRUE);
+#else
hbutton_box = gtk_hbox_new(TRUE, CP_BUTTONS_PAD);
+#endif
stepoutbtn = create_button("step_out.gif", _("Step out"));
g_signal_connect(G_OBJECT(stepoutbtn), "clicked", G_CALLBACK (debug_step_out), (gpointer)TRUE);
@@ -128,7 +147,11 @@ GtkWidget* btnpanel_create(on_toggle cb)
gtk_box_pack_start(GTK_BOX(hbutton_box), runcursorbtn, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbutton_box, FALSE, TRUE, 0);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ optbtn = create_stock_button("preferences-system", _("Settings"));
+#else
optbtn = create_stock_button(GTK_STOCK_PREFERENCES, _("Settings"));
+#endif
g_signal_connect(G_OBJECT(optbtn), "clicked", G_CALLBACK (on_settings), NULL);
gtk_box_pack_end(GTK_BOX(vbox), optbtn, FALSE, FALSE, 0);
Modified: debugger/src/cell_renderers/cellrendererbreakicon.c
84 lines changed, 73 insertions(+), 11 deletions(-)
===================================================================
@@ -40,6 +40,27 @@ enum {
PROP_HITSCOUNT
};
+struct _CellRendererBreakIcon
+{
+ GtkCellRenderer parent;
+
+ guint enabled;
+ const gchar* condition;
+ guint hitscount;
+
+ GdkPixbuf *pixbuf_enabled;
+ GdkPixbuf *pixbuf_disabled;
+ GdkPixbuf *pixbuf_conditional;
+ GdkPixbuf *pixbuf_file;
+};
+
+struct _CellRendererBreakIconClass
+{
+ GtkCellRendererClass parent_class;
+
+ void (*clicked)(CellRendererBreakIcon *cell_renderer_toggle, const gchar *path);
+};
+
static gpointer parent_class;
static guint clicked_signal;
@@ -136,14 +157,23 @@ static void cell_renderer_break_icon_set_property (GObject *object, guint param_
/*
* get size of a cell
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static void cell_renderer_break_icon_get_size(GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area,
+ gint *x_offset, gint *y_offset, gint *width, gint *height)
+#else
static void cell_renderer_break_icon_get_size(GtkCellRenderer *cell, GtkWidget *widget, GdkRectangle *cell_area,
gint *x_offset, gint *y_offset, gint *width, gint *height)
+#endif
{
CellRendererBreakIcon *cellbreakpoint = (CellRendererBreakIcon *) cell;
gint pixbuf_width = 0;
gint pixbuf_height = 0;
gint calc_width;
gint calc_height;
+ gint xpad;
+ gint ypad;
+ gfloat xalign;
+ gfloat yalign;
if (cellbreakpoint->pixbuf_enabled)
{
@@ -166,21 +196,24 @@ static void cell_renderer_break_icon_get_size(GtkCellRenderer *cell, GtkWidget *
pixbuf_height = MAX (pixbuf_height, gdk_pixbuf_get_height (cellbreakpoint->pixbuf_file));
}
- calc_width = (gint) cell->xpad * 2 + pixbuf_width;
- calc_height = (gint) cell->ypad * 2 + pixbuf_height;
+ gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+ calc_width = xpad * 2 + pixbuf_width;
+ calc_height = ypad * 2 + pixbuf_height;
+
+ gtk_cell_renderer_get_alignment(cell, &xalign, &yalign);
if (cell_area && pixbuf_width > 0 && pixbuf_height > 0)
{
if (x_offset)
{
*x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ?
- (1.0 - cell->xalign) : cell->xalign) *
+ (1.0 - xalign) : xalign) *
(cell_area->width - calc_width));
*x_offset = MAX (*x_offset, 0);
}
if (y_offset)
{
- *y_offset = (cell->yalign * (cell_area->height - calc_height));
+ *y_offset = (yalign * (cell_area->height - calc_height));
*y_offset = MAX (*y_offset, 0);
}
}
@@ -200,33 +233,53 @@ static void cell_renderer_break_icon_get_size(GtkCellRenderer *cell, GtkWidget *
/*
* render a cell
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static void cell_renderer_break_icon_render(GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget,
+ const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
+#else
static void cell_renderer_break_icon_render(GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget,
GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags)
+#endif
{
CellRendererBreakIcon *cellbreakpoint = (CellRendererBreakIcon*) cell;
GdkPixbuf *pixbuf = NULL;
GdkRectangle pix_rect;
GdkRectangle draw_rect;
+
+ gint xpad;
+ gint ypad;
+
+ gboolean is_expander;
+
+#if !GTK_CHECK_VERSION(3, 0, 0)
cairo_t *cr;
+#endif
cell_renderer_break_icon_get_size (cell, widget, cell_area,
&pix_rect.x,
&pix_rect.y,
&pix_rect.width,
&pix_rect.height);
- pix_rect.x += cell_area->x + cell->xpad;
- pix_rect.y += cell_area->y + cell->ypad;
- pix_rect.width -= cell->xpad * 2;
- pix_rect.height -= cell->ypad * 2;
-
+ gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+ pix_rect.x += cell_area->x + xpad;
+ pix_rect.y += cell_area->y + ypad;
+ pix_rect.width -= xpad * 2;
+ pix_rect.height -= ypad * 2;
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect))
+#else
if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect) ||
!gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect))
+#endif
return;
+
+ g_object_get(cell, "is-expander", &is_expander, NULL);
- if (cell->is_expander)
+ if (is_expander)
{
pixbuf = cellbreakpoint->pixbuf_file;
}
@@ -246,20 +299,29 @@ static void cell_renderer_break_icon_render(GtkCellRenderer *cell, GdkDrawable *
if (!pixbuf)
return;
+#if !GTK_CHECK_VERSION(3, 0, 0)
cr = gdk_cairo_create (window);
+#endif
gdk_cairo_set_source_pixbuf (cr, pixbuf, pix_rect.x, pix_rect.y);
gdk_cairo_rectangle (cr, &draw_rect);
cairo_fill (cr);
+#if !GTK_CHECK_VERSION(3, 0, 0)
cairo_destroy (cr);
+#endif
}
/*
* activate callback
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static gint cell_renderer_break_icon_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
+ const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
+#else
static gint cell_renderer_break_icon_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState flags)
+#endif
{
if (!event ||
(
@@ -284,7 +346,7 @@ static void cell_renderer_break_icon_init (CellRendererBreakIcon *cell)
cell->condition = NULL;
cell->hitscount = 0;
- cell_renderer->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE;
+ g_object_set(cell_renderer, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
cell->pixbuf_enabled = cell->pixbuf_disabled = cell->pixbuf_conditional = cell->pixbuf_file = 0;
}
Modified: debugger/src/cell_renderers/cellrendererbreakicon.h
21 lines changed, 0 insertions(+), 21 deletions(-)
===================================================================
@@ -36,27 +36,6 @@ G_BEGIN_DECLS
typedef struct _CellRendererBreakIcon CellRendererBreakIcon;
typedef struct _CellRendererBreakIconClass CellRendererBreakIconClass;
-struct _CellRendererBreakIcon
-{
- GtkCellRenderer parent;
-
- guint GSEAL (enabled);
- const gchar* GSEAL(condition);
- guint GSEAL (hitscount);
-
- GdkPixbuf *GSEAL (pixbuf_enabled);
- GdkPixbuf *GSEAL (pixbuf_disabled);
- GdkPixbuf *GSEAL (pixbuf_conditional);
- GdkPixbuf *GSEAL (pixbuf_file);
-};
-
-struct _CellRendererBreakIconClass
-{
- GtkCellRendererClass parent_class;
-
- void (*clicked)(CellRendererBreakIcon *cell_renderer_toggle, const gchar *path);
-};
-
GType cell_renderer_break_icon_get_type(void);
GtkCellRenderer* cell_renderer_break_icon_new (void);
Modified: debugger/src/cell_renderers/cellrendererframeicon.c
74 lines changed, 64 insertions(+), 10 deletions(-)
===================================================================
@@ -36,14 +36,36 @@ enum {
PROP_ACTIVE_FRAME,
};
+struct _CellRendererFrameIcon
+{
+ GtkCellRenderer parent;
+
+ guint active_frame;
+
+ GdkPixbuf *pixbuf_active;
+ GdkPixbuf *pixbuf_highlighted;
+};
+
+struct _CellRendererFrameIconClass
+{
+ GtkCellRendererClass parent_class;
+
+ void (*clicked)(CellRendererFrameIcon *cell_renderer_toggle, const gchar *path);
+};
+
static gpointer parent_class;
static guint clicked_signal;
/*
* activate callback
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static gint cell_renderer_frame_icon_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
+ const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
+#else
static gint cell_renderer_frame_icon_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState flags)
+#endif
{
if (!event ||
(
@@ -116,14 +138,23 @@ static void cell_renderer_frame_icon_set_property (GObject *object, guint param_
/*
* get size of a cell
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static void cell_renderer_frame_icon_get_size(GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area,
+ gint *x_offset, gint *y_offset, gint *width, gint *height)
+#else
static void cell_renderer_frame_icon_get_size(GtkCellRenderer *cell, GtkWidget *widget, GdkRectangle *cell_area,
gint *x_offset, gint *y_offset, gint *width, gint *height)
+#endif
{
CellRendererFrameIcon *cellframe = (CellRendererFrameIcon *) cell;
gint pixbuf_width = 0;
gint pixbuf_height = 0;
gint calc_width;
gint calc_height;
+ gint xpad;
+ gint ypad;
+ gfloat xalign;
+ gfloat yalign;
if (cellframe->pixbuf_active)
{
@@ -136,21 +167,24 @@ static void cell_renderer_frame_icon_get_size(GtkCellRenderer *cell, GtkWidget *
pixbuf_height = MAX (pixbuf_height, gdk_pixbuf_get_height (cellframe->pixbuf_highlighted));
}
- calc_width = (gint) cell->xpad * 2 + pixbuf_width;
- calc_height = (gint) cell->ypad * 2 + pixbuf_height;
+ gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+ calc_width = xpad * 2 + pixbuf_width;
+ calc_height = ypad * 2 + pixbuf_height;
+
+ gtk_cell_renderer_get_alignment(cell, &xalign, &yalign);
if (cell_area && pixbuf_width > 0 && pixbuf_height > 0)
{
if (x_offset)
{
*x_offset = (((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ?
- (1.0 - cell->xalign) : cell->xalign) *
+ (1.0 - xalign) : xalign) *
(cell_area->width - calc_width));
*x_offset = MAX (*x_offset, 0);
}
if (y_offset)
{
- *y_offset = (cell->yalign * (cell_area->height - calc_height));
+ *y_offset = (yalign * (cell_area->height - calc_height));
*y_offset = MAX (*y_offset, 0);
}
}
@@ -170,30 +204,46 @@ static void cell_renderer_frame_icon_get_size(GtkCellRenderer *cell, GtkWidget *
/*
* render a cell
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static void cell_renderer_frame_icon_render(GtkCellRenderer *cell, cairo_t *cr, GtkWidget *widget,
+ const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
+#else
static void cell_renderer_frame_icon_render(GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget,
GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags)
+#endif
{
CellRendererFrameIcon *cellframe = (CellRendererFrameIcon*) cell;
GdkPixbuf *pixbuf = NULL;
GdkRectangle pix_rect;
GdkRectangle draw_rect;
+
+ gint xpad;
+ gint ypad;
+
+#if !GTK_CHECK_VERSION(3, 0, 0)
cairo_t *cr;
+#endif
cell_renderer_frame_icon_get_size (cell, widget, cell_area,
&pix_rect.x,
&pix_rect.y,
&pix_rect.width,
&pix_rect.height);
- pix_rect.x += cell_area->x + cell->xpad;
- pix_rect.y += cell_area->y + cell->ypad;
- pix_rect.width -= cell->xpad * 2;
- pix_rect.height -= cell->ypad * 2;
-
+ gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+ pix_rect.x += cell_area->x + xpad;
+ pix_rect.y += cell_area->y + ypad;
+ pix_rect.width -= xpad * 2;
+ pix_rect.height -= ypad * 2;
+
+#if GTK_CHECK_VERSION(3, 0, 0)
+ if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect))
+#else
if (!gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect) ||
!gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect))
+#endif
return;
if (cellframe->active_frame)
@@ -208,13 +258,17 @@ static void cell_renderer_frame_icon_render(GtkCellRenderer *cell, GdkDrawable *
if (!pixbuf)
return;
+#if !GTK_CHECK_VERSION(3, 0, 0)
cr = gdk_cairo_create (window);
+#endif
gdk_cairo_set_source_pixbuf (cr, pixbuf, pix_rect.x, pix_rect.y);
gdk_cairo_rectangle (cr, &draw_rect);
cairo_fill (cr);
+#if !GTK_CHECK_VERSION(3, 0, 0)
cairo_destroy (cr);
+#endif
}
/*
@@ -226,7 +280,7 @@ static void cell_renderer_frame_icon_init (CellRendererFrameIcon *cell)
cell->active_frame = FALSE;
- cell_renderer->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE;
+ g_object_set(cell_renderer, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
cell->pixbuf_active = cell->pixbuf_highlighted = 0;
}
Modified: debugger/src/cell_renderers/cellrendererframeicon.h
17 lines changed, 0 insertions(+), 17 deletions(-)
===================================================================
@@ -36,23 +36,6 @@ G_BEGIN_DECLS
typedef struct _CellRendererFrameIcon CellRendererFrameIcon;
typedef struct _CellRendererFrameIconClass CellRendererFrameIconClass;
-struct _CellRendererFrameIcon
-{
- GtkCellRenderer parent;
-
- guint GSEAL (active_frame);
-
- GdkPixbuf *GSEAL (pixbuf_active);
- GdkPixbuf *GSEAL (pixbuf_highlighted);
-};
-
-struct _CellRendererFrameIconClass
-{
- GtkCellRendererClass parent_class;
-
- void (*clicked)(CellRendererFrameIcon *cell_renderer_toggle, const gchar *path);
-};
-
GType cell_renderer_frame_icon_get_type(void);
GtkCellRenderer* cell_renderer_frame_icon_new (void);
Modified: debugger/src/cell_renderers/cellrenderertoggle.c
17 lines changed, 16 insertions(+), 1 deletions(-)
===================================================================
@@ -29,11 +29,26 @@
#include "cellrenderertoggle.h"
+struct _CellRendererToggle
+{
+ GtkCellRendererToggle parent;
+};
+
+struct _CellRendererToggleClass
+{
+ GtkCellRendererToggleClass parent_class;
+};
+
/*
* handles an activation and sends a toggle signal is its cell renderer has been clicked
*/
+#if GTK_CHECK_VERSION(3, 0, 0)
+static gint cell_renderer_toggle_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
+ const GdkRectangle *background_area, const GdkRectangle *cell_area, GtkCellRendererState flags)
+#else
static gint cell_renderer_toggle_activate(GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState flags)
+#endif
{
if (!event ||
(
@@ -53,7 +68,7 @@ static gint cell_renderer_toggle_activate(GtkCellRenderer *cell, GdkEvent *event
static void cell_renderer_toggle_init (CellRendererToggle *cell)
{
GtkCellRenderer *cell_renderer = (GtkCellRenderer*)cell;
- cell_renderer->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE;
+ g_object_set(cell_renderer, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
}
/*
Modified: debugger/src/cell_renderers/cellrenderertoggle.h
10 lines changed, 0 insertions(+), 10 deletions(-)
===================================================================
@@ -36,16 +36,6 @@ G_BEGIN_DECLS
typedef struct _CellRendererToggle CellRendererToggle;
typedef struct _CellRendererToggleClass CellRendererToggleClass;
-struct _CellRendererToggle
-{
- GtkCellRendererToggle parent;
-};
-
-struct _CellRendererToggleClass
-{
- GtkCellRendererToggleClass parent_class;
-};
-
GType cell_renderer_toggle_get_type(void);
GtkCellRenderer* cell_renderer_toggle_new (void);
Modified: debugger/src/dconfig.c
44 lines changed, 24 insertions(+), 20 deletions(-)
===================================================================
@@ -67,8 +67,8 @@ static GKeyFile *keyfile_project = NULL;
static gboolean debug_config_loading = FALSE;
/* saving thread staff */
-static GMutex *change_config_mutex;
-static GCond *cond;
+static GMutex change_config_mutex;
+static GCond cond;
static GThread *saving_thread;
/* flags that indicate that part of a config has been changed and
@@ -269,8 +269,8 @@ static void save_to_keyfile(GKeyFile *keyfile)
*/
static gpointer saving_thread_func(gpointer data)
{
- GTimeVal interval;
- g_mutex_lock(change_config_mutex);
+ gint64 interval;
+ g_mutex_lock(&change_config_mutex);
do
{
if (
@@ -308,11 +308,10 @@ static gpointer saving_thread_func(gpointer data)
debug_config_changed = FALSE;
}
- g_get_current_time(&interval);
- g_time_val_add(&interval, SAVING_INTERVAL);
+ interval = g_get_monotonic_time() + SAVING_INTERVAL;
}
- while (!g_cond_timed_wait(cond, change_config_mutex, &interval));
- g_mutex_unlock(change_config_mutex);
+ while (!g_cond_wait_until(&cond, &change_config_mutex, interval));
+ g_mutex_unlock(&change_config_mutex);
return NULL;
}
@@ -324,9 +323,9 @@ void config_set_debug_changed(void)
{
if (!debug_config_loading)
{
- g_mutex_lock(change_config_mutex);
+ g_mutex_lock(&change_config_mutex);
debug_config_changed = TRUE;
- g_mutex_unlock(change_config_mutex);
+ g_mutex_unlock(&change_config_mutex);
}
}
@@ -337,7 +336,7 @@ void config_set_panel(int config_part, gpointer config_value, ...)
{
va_list ap;
- g_mutex_lock(change_config_mutex);
+ g_mutex_lock(&change_config_mutex);
va_start(ap, config_value);
@@ -395,7 +394,7 @@ void config_set_panel(int config_part, gpointer config_value, ...)
va_end(ap);
panel_config_changed = TRUE;
- g_mutex_unlock(change_config_mutex);
+ g_mutex_unlock(&change_config_mutex);
}
/*
@@ -458,21 +457,21 @@ void config_init(void)
g_free(data);
}
- change_config_mutex = g_mutex_new();
- cond = g_cond_new();
- saving_thread = g_thread_create(saving_thread_func, NULL, TRUE, NULL);
+ g_mutex_init(&change_config_mutex);
+ g_cond_init(&cond);
+ saving_thread = g_thread_new(NULL, saving_thread_func, NULL);
}
/*
* destroy
*/
void config_destroy(void)
{
- g_cond_signal(cond);
+ g_cond_signal(&cond);
g_thread_join(saving_thread);
- g_mutex_free(change_config_mutex);
- g_cond_free(cond);
+ g_mutex_clear(&change_config_mutex);
+ g_cond_clear(&cond);
g_free(plugin_config_path);
@@ -642,9 +641,9 @@ static void on_configure_response(GtkDialog* dialog, gint response, gpointer use
{
g_key_file_set_boolean(keyfile_plugin, "saving_settings", "save_to_project", newvalue);
- g_mutex_lock(change_config_mutex);
+ g_mutex_lock(&change_config_mutex);
panel_config_changed = TRUE;
- g_mutex_unlock(change_config_mutex);
+ g_mutex_unlock(&change_config_mutex);
if (geany_data->app->project)
{
@@ -668,8 +667,13 @@ static void on_configure_response(GtkDialog* dialog, gint response, gpointer use
*/
GtkWidget *config_plugin_configure(GtkDialog *dialog)
{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6);
+ GtkWidget *_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
+#else
GtkWidget *vbox = gtk_vbox_new(FALSE, 6);
GtkWidget *_hbox = gtk_hbox_new(FALSE, 6);
+#endif
save_to_project_btn = gtk_check_button_new_with_label(_("Save debug session data to a project"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(save_to_project_btn), config_get_save_to_project());
Modified: debugger/src/debug.c
39 lines changed, 25 insertions(+), 14 deletions(-)
===================================================================
@@ -56,6 +56,7 @@ int grantpt(int fd);
#include "config.h"
#endif
#include <geanyplugin.h>
+#include <gp_vtecompat.h>
extern GeanyData *geany_data;
#include "tpage.h"
@@ -320,7 +321,7 @@ static void on_watch_dragged_callback(GtkWidget *wgt, GdkDragContext *context, i
gpointer userdata)
{
/* string that is dragged */
- gchar *expression = (gchar*)seldata->data;
+ gchar *expression = (gchar*)gtk_selection_data_get_data(seldata);
GtkTreePath *path = NULL;
GtkTreeViewDropPosition pos;
GtkTreePath *empty_path;
@@ -1000,6 +1001,10 @@ void debug_init(void)
gchar *font;
GtkTextBuffer *buffer;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ VtePty *pty;
+#endif
+
/* create watch page */
wtree = wtree_init(on_watch_expanded_callback,
on_watch_dragged_callback,
@@ -1009,32 +1014,23 @@ void debug_init(void)
wmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(wtree));
wstore = GTK_TREE_STORE(wmodel);
- tab_watch = gtk_scrolled_window_new(
- gtk_tree_view_get_hadjustment(GTK_TREE_VIEW(wtree)),
- gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(wtree))
- );
+ tab_watch = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_watch),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(tab_watch), wtree);
/* create autos page */
atree = atree_init(on_watch_expanded_callback, on_watch_button_pressed_callback);
- tab_autos = gtk_scrolled_window_new(
- gtk_tree_view_get_hadjustment(GTK_TREE_VIEW(atree)),
- gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(atree))
- );
+ tab_autos = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_autos),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(tab_autos), atree);
/* create stack trace page */
stree = stree_init(editor_open_position, on_select_thread, on_select_frame);
- tab_call_stack = gtk_scrolled_window_new(
- gtk_tree_view_get_hadjustment(GTK_TREE_VIEW(stree )),
- gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(stree ))
- );
+ tab_call_stack = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_call_stack),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
@@ -1048,12 +1044,23 @@ void debug_init(void)
NULL);
grantpt(pty_master);
unlockpt(pty_master);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ pty = vte_pty_new_foreign_sync(pty_master, NULL, NULL);
+ vte_terminal_set_pty(VTE_TERMINAL(terminal), pty);
+ g_object_unref(pty);
+ scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal)));
+#else
vte_terminal_set_pty(VTE_TERMINAL(terminal), pty_master);
scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(VTE_TERMINAL(terminal)->adjustment));
- GTK_WIDGET_UNSET_FLAGS(scrollbar, GTK_CAN_FOCUS);
+#endif
+ gtk_widget_set_can_focus(GTK_WIDGET(scrollbar), FALSE);
tab_terminal = gtk_frame_new(NULL);
gtk_frame_set_shadow_type (GTK_FRAME(tab_terminal), GTK_SHADOW_NONE);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+#else
hbox = gtk_hbox_new(FALSE, 0);
+#endif
gtk_container_add(GTK_CONTAINER(tab_terminal), hbox);
gtk_box_pack_start(GTK_BOX(hbox), terminal, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), scrollbar, FALSE, FALSE, 0);
@@ -1078,7 +1085,11 @@ void debug_init(void)
debugger_messages_textview = gtk_text_view_new();
gtk_text_view_set_editable (GTK_TEXT_VIEW (debugger_messages_textview), FALSE);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ gtk_container_add(GTK_CONTAINER(tab_messages), debugger_messages_textview);
+#else
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tab_messages), debugger_messages_textview);
+#endif
/* create tex tags */
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(debugger_messages_textview));
Modified: debugger/src/dpaned.c
6 lines changed, 3 insertions(+), 3 deletions(-)
===================================================================
@@ -40,7 +40,7 @@ extern GeanyData *geany_data;
#include "stree.h"
#include "dconfig.h"
-#define NOTEBOOK_GROUP 438948394
+#define NOTEBOOK_GROUP "notebook-438948394"
#define HPANED_BORDER_WIDTH 4
#define CONNECT_PAGE_SIGNALS(X) \
@@ -287,8 +287,8 @@ void dpaned_init(void)
/* setup notebooks */
gtk_notebook_set_scrollable(GTK_NOTEBOOK(debug_notebook_left), TRUE);
gtk_notebook_set_scrollable(GTK_NOTEBOOK(debug_notebook_right), TRUE);
- gtk_notebook_set_group_id(GTK_NOTEBOOK(debug_notebook_left), NOTEBOOK_GROUP);
- gtk_notebook_set_group_id (GTK_NOTEBOOK(debug_notebook_right), NOTEBOOK_GROUP);
+ gtk_notebook_set_group_name(GTK_NOTEBOOK(debug_notebook_left), NOTEBOOK_GROUP);
+ gtk_notebook_set_group_name(GTK_NOTEBOOK(debug_notebook_right), NOTEBOOK_GROUP);
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(debug_notebook_left), GTK_POS_TOP);
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(debug_notebook_right), GTK_POS_TOP);
Modified: debugger/src/gui.c
4 lines changed, 4 insertions(+), 0 deletions(-)
===================================================================
@@ -52,7 +52,11 @@ GtkWidget* create_button(const gchar *icon, const gchar *tooltip)
GtkWidget* create_stock_button(const gchar *stockid, const gchar *tooltip)
{
GtkWidget *btn = gtk_button_new();
+#if GTK_CHECK_VERSION(3, 0, 0)
+ GtkWidget *image = gtk_image_new_from_icon_name(stockid, GTK_ICON_SIZE_MENU);
+#else
GtkWidget *image = gtk_image_new_from_stock (stockid, GTK_ICON_SIZE_MENU);
+#endif
gtk_widget_show(image);
gtk_button_set_image(GTK_BUTTON(btn), image);
Modified: debugger/src/plugin.c
4 lines changed, 4 insertions(+), 0 deletions(-)
===================================================================
@@ -97,7 +97,11 @@ void plugin_init(GeanyData *data)
pixbufs_init();
/* main box */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 7);
+#else
hbox = gtk_hbox_new(FALSE, 7);
+#endif
gtk_container_set_border_width(GTK_CONTAINER(hbox), 6);
/* add target page */
Modified: debugger/src/stree.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -197,7 +197,7 @@ static void on_render_line(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell
g_object_set(cell, "text", "", NULL);
else
{
- GValue value = {0};
+ GValue value = G_VALUE_INIT;
g_value_init(&value, G_TYPE_INT);
g_value_set_int (&value, f->line);
Modified: debugger/src/tpage.c
70 lines changed, 62 insertions(+), 8 deletions(-)
===================================================================
@@ -33,6 +33,7 @@
#include "config.h"
#endif
#include "geanyplugin.h"
+#include <gp_gtkcompat.h>
extern GeanyData *geany_data;
@@ -161,23 +162,41 @@ void tpage_pack_widgets(gboolean tabbed)
{
GtkWidget *hbox, *rbox, *lbox;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ root = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING);
+#else
root = gtk_vbox_new(FALSE, SPACING);
+#endif
gtk_container_set_border_width(GTK_CONTAINER(root), ROOT_BORDER_WIDTH);
/* filename */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING);
+#else
hbox = gtk_hbox_new(FALSE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(root), hbox, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), target_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), target_name, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), target_button_browse, FALSE, FALSE, 0);
/* lower hbox */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING);
+ gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE);
+#else
hbox = gtk_hbox_new(TRUE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(root), hbox, TRUE, TRUE, 0);
/* lower left and right vboxes */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ lbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING);
+ rbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING);
+#else
lbox = gtk_vbox_new(FALSE, SPACING);
rbox = gtk_vbox_new(FALSE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(hbox), lbox, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), rbox, TRUE, TRUE, 0);
@@ -187,7 +206,11 @@ void tpage_pack_widgets(gboolean tabbed)
/* arguments */
gtk_box_pack_start(GTK_BOX(rbox), args_frame, TRUE, TRUE, 0);
/* debugger type */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING);
+#else
hbox = gtk_hbox_new(FALSE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(hbox), debugger_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), debugger_cmb, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(rbox), hbox, FALSE, FALSE, 0);
@@ -196,27 +219,45 @@ void tpage_pack_widgets(gboolean tabbed)
{
GtkWidget *lbox, *rbox, *hbox;
+#if GTK_CHECK_VERSION(3, 0, 0)
+ root = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING);
+ gtk_box_set_homogeneous(GTK_BOX(root), TRUE);
+#else
root = gtk_hbox_new(TRUE, SPACING);
+#endif
gtk_container_set_border_width(GTK_CONTAINER(root), ROOT_BORDER_WIDTH);
+#if GTK_CHECK_VERSION(3, 0, 0)
+ lbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING);
+ rbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SPACING);
+#else
lbox = gtk_vbox_new(FALSE, SPACING);
rbox = gtk_vbox_new(FALSE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(root), lbox, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(root), rbox, TRUE, TRUE, 0);
/* environment */
gtk_box_pack_start(GTK_BOX(lbox), env_frame, TRUE, TRUE, 0);
/* target */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING);
+#else
hbox = gtk_hbox_new(FALSE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(hbox), target_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), target_name, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox), target_button_browse, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(rbox), hbox, FALSE, FALSE, 0);
/* arguments */
gtk_box_pack_start(GTK_BOX(rbox), args_frame, TRUE, TRUE, 0);
/* debugger type */
+#if GTK_CHECK_VERSION(3, 0, 0)
+ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING);
+#else
hbox = gtk_hbox_new(FALSE, SPACING);
+#endif
gtk_box_pack_start(GTK_BOX(hbox), debugger_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), debugger_cmb, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(rbox), hbox, FALSE, FALSE, 0);
@@ -233,7 +274,11 @@ void tpage_pack_widgets(gboolean tabbed)
gtk_container_remove(GTK_CONTAINER(tab_target), oldroot);
}
+#if GTK_CHECK_VERSION(3, 0, 0)
+ gtk_box_pack_start(GTK_BOX(tab_target), root, TRUE, TRUE, 0);
+#else
gtk_container_add(GTK_CONTAINER(tab_target), root);
+#endif
gtk_widget_show_all(tab_target);
}
@@ -250,27 +295,32 @@ static void tpage_create_widgets(void)
/* target */
target_label = gtk_label_new(_("Target:"));
target_name = gtk_entry_new ();
+#if GTK_CHECK_VERSION(3, 0, 0)
+ gtk_editable_set_editable(GTK_EDITABLE(target_name), FALSE);
+ target_button_browse = create_stock_button("document-open", _("Browse"));
+#else
gtk_entry_set_editable(GTK_ENTRY(target_name), FALSE);
target_button_browse = create_stock_button(GTK_STOCK_OPEN, _("Browse"));
+#endif
gtk_widget_set_size_request(target_button_browse, BROWSE_BUTTON_WIDTH, 0);
g_signal_connect(G_OBJECT(target_button_browse), "clicked", G_CALLBACK (on_target_browse_clicked), NULL);
/* debugger */
debugger_label = gtk_label_new(_("Debugger:"));
- debugger_cmb = gtk_combo_box_new_text();
+ debugger_cmb = gtk_combo_box_text_new();
modules = debug_get_modules();
for (iter = modules; iter; iter = iter->next)
{
- gtk_combo_box_append_text(GTK_COMBO_BOX(debugger_cmb), (gchar*)iter->data);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(debugger_cmb), (gchar*)iter->data);
}
g_list_free(modules);
gtk_combo_box_set_active(GTK_COMBO_BOX(debugger_cmb), 0);
/* arguments */
args_frame = gtk_frame_new(_("Command Line Arguments"));
- hbox = gtk_hbox_new(FALSE, 0);
- gtk_container_set_border_width(GTK_CONTAINER(hbox), 5);
- args_textview = gtk_text_view_new ();
+ hbox = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ args_textview = gtk_text_view_new();
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(args_textview), GTK_WRAP_CHAR);
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(args_textview));
g_signal_connect(G_OBJECT(buffer), "changed", G_CALLBACK (on_arguments_changed), NULL);
@@ -279,8 +329,8 @@ static void tpage_create_widgets(void)
/* environment */
env_frame = gtk_frame_new(_("Environment Variables"));
- hbox = gtk_hbox_new(FALSE, 0);
- gtk_container_set_border_width(GTK_CONTAINER(hbox), 5);
+ hbox = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
tree = envtree_init();
gtk_container_add(GTK_CONTAINER(hbox), tree);
gtk_container_add(GTK_CONTAINER(env_frame), hbox);
@@ -366,7 +416,7 @@ int tpage_get_debug_module_index(void)
*/
gchar* tpage_get_debugger(void)
{
- return gtk_combo_box_get_active_text(GTK_COMBO_BOX(debugger_cmb));
+ return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(debugger_cmb));
}
/*
@@ -404,7 +454,11 @@ GList* tpage_get_environment(void)
*/
void tpage_init(void)
{
+#if GTK_CHECK_VERSION(3, 0, 0)
+ tab_target = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
+#else
tab_target = gtk_vbox_new(FALSE, 0);
+#endif
tpage_create_widgets();
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list