metacity r3723 - in trunk: . src/compositor



Author: iain
Date: Sat May 24 11:00:17 2008
New Revision: 3723
URL: http://svn.gnome.org/viewvc/metacity?rev=3723&view=rev

Log:
2008-05-24  Iain Holmes  <iain gnome org>

        * src/compositor/compositor.c: Check the compositor isn't NULL 
before 
        dereferencing it. Fixes #534569
        (meta_compositor_get_window_pixmap): Actually return a value



Modified:
   trunk/ChangeLog
   trunk/src/compositor/compositor.c

Modified: trunk/src/compositor/compositor.c
==============================================================================
--- trunk/src/compositor/compositor.c	(original)
+++ trunk/src/compositor/compositor.c	Sat May 24 11:00:17 2008
@@ -21,6 +21,7 @@
 
 #include <config.h>
 #include "compositor-private.h"
+#include "compositor-xrender.h"
 
 MetaCompositor *
 meta_compositor_new (MetaDisplay *display)
@@ -37,7 +38,7 @@
 meta_compositor_destroy (MetaCompositor *compositor)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->destroy)
+  if (compositor && compositor->destroy)
     compositor->destroy (compositor);
 #endif
 }
@@ -49,7 +50,7 @@
                             XWindowAttributes *attrs)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->add_window)
+  if (compositor && compositor->add_window)
     compositor->add_window (compositor, window, xwindow, attrs);
 #endif
 }
@@ -59,7 +60,7 @@
                                Window          xwindow)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->remove_window)
+  if (compositor && compositor->remove_window)
     compositor->remove_window (compositor, xwindow);
 #endif
 }
@@ -69,7 +70,7 @@
                                MetaScreen     *screen)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->manage_screen)
+  if (compositor && compositor->manage_screen)
     compositor->manage_screen (compositor, screen);
 #endif
 }
@@ -79,7 +80,7 @@
                                  MetaScreen     *screen)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->unmanage_screen)
+  if (compositor && compositor->unmanage_screen)
     compositor->unmanage_screen (compositor, screen);
 #endif
 }
@@ -90,7 +91,7 @@
                              gboolean        updates)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->set_updates)
+  if (compositor && compositor->set_updates)
     compositor->set_updates (compositor, window, updates);
 #endif
 }
@@ -101,7 +102,7 @@
                                MetaWindow     *window)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->process_event)
+  if (compositor && compositor->process_event)
     compositor->process_event (compositor, event, window);
 #endif
 }
@@ -111,8 +112,8 @@
                                    MetaWindow     *window)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->get_window_pixmap)
-    compositor->get_window_pixmap (compositor, window);
+  if (compositor && compositor->get_window_pixmap)
+    return compositor->get_window_pixmap (compositor, window);
   else 
     return None;
 #else
@@ -126,7 +127,7 @@
                                    MetaWindow     *window)
 {
 #ifdef HAVE_COMPOSITE_EXTENSIONS
-  if (compositor->set_active_window) 
+  if (compositor && compositor->set_active_window) 
     compositor->set_active_window (compositor, screen, window);
 #endif
 }



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