static void gqv_cell_renderer_icon_init(GQvCellRendererIcon *celltext);
static void gqv_cell_renderer_icon_class_init(GQvCellRendererIconClass *class);
static void gqv_cell_renderer_icon_finalize(GObject *object);
-static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
- GtkWidget *widget,
- const GdkRectangle *rectangle,
- gint *x_offset,
- gint *y_offset,
- gint *width,
- gint *height);
+#if GTK_CHECK_VERSION(3,0,0)
+static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
+ GtkWidget *widget,
+ const GdkRectangle *rectangle,
+ gint *x_offset,
+ gint *y_offset,
+ gint *width,
+ gint *height);
+#else
+static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
+ GtkWidget *widget,
+ GdkRectangle *rectangle,
+ gint *x_offset,
+ gint *y_offset,
+ gint *width,
+ gint *height);
+#endif
#if GTK_CHECK_VERSION(3,0,0)
static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
cairo_t *cr,
#endif
+#if GTK_CHECK_VERSION(3,0,0)
static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
- GdkEvent *event,
- GtkWidget *widget,
- const gchar *path,
- const GdkRectangle *background_area,
- const GdkRectangle *cell_area,
- GtkCellRendererState flags);
+ GdkEvent *event,
+ GtkWidget *widget,
+ const gchar *path,
+ const GdkRectangle *background_area,
+ const GdkRectangle *cell_area,
+ GtkCellRendererState flags);
+#else
+static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
+ GdkEvent *event,
+ GtkWidget *widget,
+ const gchar *path,
+ GdkRectangle *background_area,
+ GdkRectangle *cell_area,
+ GtkCellRendererState flags);
+#endif
enum {
TOGGLED,
return g_object_new(GQV_TYPE_CELL_RENDERER_ICON, NULL);
}
-static void
-gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
- GtkWidget *widget,
- const GdkRectangle *cell_area,
- gint *x_offset,
- gint *y_offset,
- gint *width,
- gint *height)
+#if GTK_CHECK_VERSION(3,0,0)
+static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
+ GtkWidget *widget,
+ const GdkRectangle *cell_area,
+ gint *x_offset,
+ gint *y_offset,
+ gint *width,
+ gint *height)
+#else
+static void gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
+ GtkWidget *widget,
+ GdkRectangle *cell_area,
+ gint *x_offset,
+ gint *y_offset,
+ gint *width,
+ gint *height)
+#endif
{
GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
gint calc_width;
#endif
}
-static gboolean
-gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
- GdkEvent *event,
- GtkWidget *widget,
- const gchar *path,
- const GdkRectangle *background_area,
- const GdkRectangle *cell_area,
- GtkCellRendererState flags)
+#if GTK_CHECK_VERSION(3,0,0)
+static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
+ GdkEvent *event,
+ GtkWidget *widget,
+ const gchar *path,
+ const GdkRectangle *background_area,
+ const GdkRectangle *cell_area,
+ GtkCellRendererState flags)
+#else
+static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer *cell,
+ GdkEvent *event,
+ GtkWidget *widget,
+ const gchar *path,
+ GdkRectangle *background_area,
+ GdkRectangle *cell_area,
+ GtkCellRendererState flags)
+#endif
{
GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
GdkEventButton *bevent = &event->button;
il->can_destroy = TRUE;
#ifdef HAVE_GTHREAD
+#if GTK_CHECK_VERSION(2,32,0)
+ il->data_mutex = g_new(GMutex, 1);
+ g_mutex_init(il->data_mutex);
+ il->can_destroy_cond = g_new(GCond, 1);
+ g_cond_init((il->can_destroy_cond);
+#else
il->data_mutex = g_mutex_new();
il->can_destroy_cond = g_cond_new();
+#endif
#endif
DEBUG_1("new image loader %p, bufsize=%" G_GSIZE_FORMAT " idle_loop=%u", il, il->read_buffer_size, il->idle_read_loop_count);
}
file_data_unref(il->fd);
#ifdef HAVE_GTHREAD
+#if GTK_CHECK_VERSION(2,32,0)
+ g_mutex_clear(il->data_mutex);
+ g_free(il->data_mutex);
+ g_cond_clear(il->can_destroy_cond);
+ g_free(il->can_destroy_cond);
+#else
g_mutex_free(il->data_mutex);
g_cond_free(il->can_destroy_cond);
#endif
+#endif
}
void image_loader_free(ImageLoader *il)
if (!image_loader_thread_pool)
{
image_loader_thread_pool = g_thread_pool_new(image_loader_thread_run, NULL, -1, FALSE, NULL);
+#if GTK_CHECK_VERSION(2,32,0)
+ if (!image_loader_prio_cond) image_loader_prio_cond = g_new(GCond, 1);
+ g_cond_init(image_loader_prio_cond);
+ if (!image_loader_prio_mutex) image_loader_prio_mutex = g_new(GMutex, 1);
+ g_mutex_init(image_loader_prio_mutex);
+#else
image_loader_prio_cond = g_cond_new();
image_loader_prio_mutex = g_mutex_new();
+#endif
}
il->can_destroy = FALSE; /* ImageLoader can't be freed until image_loader_thread_run finishes */