[gtk+] GdkGLArea: fix has_alpha changes at runtime



commit f66060c422decddb13f623ed0f4716e6b0925796
Author: Alexander Larsson <alexl redhat com>
Date:   Thu Oct 30 20:00:45 2014 +0100

    GdkGLArea: fix has_alpha changes at runtime
    
    We need to completely reallocate the buffers if we switch
    has_alpha, because we may switch from render buffers to
    texture.

 gtk/gtkglarea.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
index 0c8788a..c7583d6 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -367,6 +367,8 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area, int width, int height)
       else
        glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, width, height);
     }
+
+  priv->needs_render = TRUE;
 }
 
 static void
@@ -562,7 +564,6 @@ gtk_gl_area_size_allocate (GtkWidget     *widget,
       priv->needs_resize = TRUE;
     }
 
-  priv->needs_render = TRUE;
   gtk_gl_area_maybe_allocate_buffers (area);
 }
 
@@ -957,7 +958,7 @@ gtk_gl_area_set_has_alpha (GtkGLArea *area,
 
       g_object_notify (G_OBJECT (area), "has-alpha");
 
-      gtk_gl_area_maybe_allocate_buffers (area);
+      gtk_gl_area_delete_buffers (area);
     }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]