[gtk+] gdk: Use stricter checks for begin_draw_frame()



commit ae29d4db5ae64edb94b85a23a236521332a2efd9
Author: Benjamin Otte <otte redhat com>
Date:   Thu Nov 24 04:32:26 2016 +0100

    gdk: Use stricter checks for begin_draw_frame()
    
    We don't support drawing on child windows, so make sure nobody tries.

 gdk/gdkwindow.c |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index e39bfb1..3f2d526 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2894,6 +2894,8 @@ gdk_window_begin_draw_frame (GdkWindow            *window,
   GdkDrawingContext *context;
 
   g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
+  g_return_val_if_fail (gdk_window_has_native (window), NULL);
+  g_return_val_if_fail (gdk_window_is_toplevel (window), NULL);
 
   if (window->drawing_context != NULL)
     {
@@ -2903,8 +2905,7 @@ gdk_window_begin_draw_frame (GdkWindow            *window,
       return NULL;
     }
 
-  if (gdk_window_has_native (window) && gdk_window_is_toplevel (window))
-    gdk_window_begin_paint_internal (window, region);
+  gdk_window_begin_paint_internal (window, region);
 
   context = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->create_draw_context (window, region);
 
@@ -2935,18 +2936,9 @@ gdk_window_end_draw_frame (GdkWindow         *window,
 {
   g_return_if_fail (GDK_IS_WINDOW (window));
   g_return_if_fail (GDK_IS_DRAWING_CONTEXT (context));
-
-  if (window->drawing_context == NULL)
-    {
-      g_critical ("The window %p has no drawing context. You must call "
-                  "gdk_window_begin_draw_frame() before calling "
-                  "gdk_window_end_draw_frame().", window);
-      return;
-    }
   g_return_if_fail (window->drawing_context == context);
 
-  if (gdk_window_has_native (window) && gdk_window_is_toplevel (window))
-    gdk_window_end_paint_internal (window);
+  gdk_window_end_paint_internal (window);
 
   window->drawing_context = NULL;
 


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