[retro-gtk/wip/aplazas/gl-display] Test
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [retro-gtk/wip/aplazas/gl-display] Test
- Date: Fri, 17 Nov 2017 13:56:45 +0000 (UTC)
commit b32f630fe0a54ed2de8d414094657f3a20266775
Author: Adrien Plazas <kekun plazas laposte net>
Date: Fri Nov 17 14:56:18 2017 +0100
Test
retro-gtk/retro-gl-display.c | 31 +++++++------------------------
1 files changed, 7 insertions(+), 24 deletions(-)
---
diff --git a/retro-gtk/retro-gl-display.c b/retro-gtk/retro-gl-display.c
index a4e4706..872bfc5 100644
--- a/retro-gtk/retro-gl-display.c
+++ b/retro-gtk/retro-gl-display.c
@@ -14,7 +14,6 @@ struct _RetroGLDisplay
RetroVideoFilter filter;
gfloat aspect_ratio;
gulong on_video_output_id;
- gboolean video_changed;
guint tick_id;
RetroGLSLFilter *glsl_filter[RETRO_VIDEO_FILTER_COUNT];
@@ -105,10 +104,6 @@ retro_gl_display_on_tick (GtkWidget *sender,
GdkFrameClock *frame_clock,
RetroGLDisplay *self)
{
- if (!self->video_changed)
- return G_SOURCE_CONTINUE;
-
- self->video_changed = FALSE;
gtk_widget_queue_draw (GTK_WIDGET (self));
return G_SOURCE_CONTINUE;
@@ -404,14 +399,6 @@ queue_draw (GObject *sender,
}
static void
-on_pixbuf_changed (GObject *sender,
- GParamSpec *pspec,
- RetroGLDisplay *self)
-{
- self->video_changed = TRUE;
-}
-
-static void
retro_gl_display_init (RetroGLDisplay *self)
{
g_signal_connect_object (G_OBJECT (self),
@@ -439,12 +426,6 @@ retro_gl_display_init (RetroGLDisplay *self)
(GCallback) queue_draw,
GTK_WIDGET (self),
0);
-
- g_signal_connect_object (G_OBJECT (self),
- "notify::pixbuf",
- (GCallback) on_pixbuf_changed,
- GTK_WIDGET (self),
- 0);
}
static void
@@ -528,17 +509,19 @@ retro_gl_display_set_pixbuf (RetroGLDisplay *self,
return;
g_clear_object (&self->pixbuf);
- if (self->tick_id != 0) {
+
+ if (pixbuf == NULL && self->tick_id != 0) {
gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick_id);
self->tick_id = 0;
}
if (pixbuf != NULL) {
self->pixbuf = g_object_ref (pixbuf);
- self->tick_id = gtk_widget_add_tick_callback (GTK_WIDGET (self),
- retro_gl_display_on_tick,
- self,
- NULL);
+ if (self->tick_id == 0)
+ self->tick_id = gtk_widget_add_tick_callback (GTK_WIDGET (self),
+ retro_gl_display_on_tick,
+ self,
+ NULL);
}
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_PIXBUF]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]