Fix bug #15565 with assertion violations in x_free_gc.
authorEli Zaretskii <eliz@gnu.org>
Wed, 9 Oct 2013 14:53:13 +0000 (17:53 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 9 Oct 2013 14:53:13 +0000 (17:53 +0300)
 src/xfaces.c (x_free_gc) [HAVE_X_WINDOWS, HAVE_NTGUI]: Don't pass
 expressions with side effects to eassert.

src/ChangeLog
src/xfaces.c

index a205ea7..eee3ee8 100644 (file)
@@ -1,3 +1,8 @@
+2013-10-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * xfaces.c (x_free_gc) [HAVE_X_WINDOWS, HAVE_NTGUI]: Don't pass
+       expressions with side effects to eassert.  (Bug#15565)
+
 2013-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * fns.c (hashfn_user_defined): Allow hash functions to return any
index 8d78a28..7e83972 100644 (file)
@@ -603,7 +603,7 @@ static void
 x_free_gc (struct frame *f, GC gc)
 {
   eassert (input_blocked_p ());
-  IF_DEBUG (eassert (--ngcs >= 0));
+  IF_DEBUG ((--ngcs, eassert (ngcs >= 0)));
   XFreeGC (FRAME_X_DISPLAY (f), gc);
 }
 
@@ -629,7 +629,7 @@ x_create_gc (struct frame *f, unsigned long mask, XGCValues *xgcv)
 static void
 x_free_gc (struct frame *f, GC gc)
 {
-  IF_DEBUG (eassert (--ngcs >= 0));
+  IF_DEBUG ((--ngcs, eassert (ngcs >= 0)));
   xfree (gc);
 }