pixman: Branch '0.16' - 3 commits
Søren Sandmann Pedersen
sandmann at kemper.freedesktop.org
Tue Dec 15 09:22:34 PST 2009
configure.ac | 2 +-
pixman/pixman-region.c | 43 ++++++++++++++++++++++++++++++++++++++-----
2 files changed, 39 insertions(+), 6 deletions(-)
New commits:
commit d76e777cea86e12c52006fd412172c13385713a5
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date: Tue Dec 15 12:20:23 2009 -0500
Post-release version bump
diff --git a/configure.ac b/configure.ac
index 304a1df..1289866 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 16)
-m4_define([pixman_micro], 4)
+m4_define([pixman_micro], 5)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
commit 92865d4decd4607086c22187b8892af9c74fe2f0
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date: Tue Dec 15 11:09:33 2009 -0500
Pre-release version bump
diff --git a/configure.ac b/configure.ac
index b4d8f32..304a1df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 16)
-m4_define([pixman_micro], 3)
+m4_define([pixman_micro], 4)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
commit ec6de472d042bec05aaa53f9d14bfbe23edbe01e
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date: Fri Dec 11 11:14:19 2009 -0500
region: Enable or disable fatal errors and selfchecks based on version number
There is a couple of bugs in bugzilla where bugs in the X server
triggered asserts in the pixman region code. It is probably better to
let the X server survive this. (In fact, I thought I had disabled them
for 0.16.0, but apparently not).
The patch below uses these rules:
- In _stable_ pixman releases, assertions and selfchecks are turned
off. Assertions, so that the X server doesn't die. Selfchecks,
for performance reasons.
- In _unstable_ pixman releases, both assertions and selfcheck are
turned on. These releases are what get added to development
distributions such as rawhide, so we want as much self-checking
as possible.
- In _random git checkouts_, assertions are enabled, so that bugs
are caught, but selfchecks are disabled so that you can use them
for performance work without having to fiddle with turning
selfchecks off.
diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c
index f88955f..8ce5deb 100644
--- a/pixman/pixman-region.c
+++ b/pixman/pixman-region.c
@@ -66,9 +66,44 @@
#define GOOD_RECT(rect) ((rect)->x1 < (rect)->x2 && (rect)->y1 < (rect)->y2)
#define BAD_RECT(rect) ((rect)->x1 > (rect)->x2 || (rect)->y1 > (rect)->y2)
-#define noPIXMAN_REGION_LOG_FAILURES
+/* Turn on debugging depending on what type of release this is
+ */
-#if defined PIXMAN_REGION_LOG_FAILURES || defined PIXMAN_REGION_DEBUG
+#if ((PIXMAN_VERSION_MICRO % 2) == 1)
+/* Random git checkout.
+ *
+ * Those are often used for performance work, so we don't turn on the
+ * full self-checking, but we do turn on the asserts.
+ */
+# define FATAL_BUGS
+# define noSELF_CHECKS
+#elif ((PIXMAN_VERSION_MINOR % 2) == 0)
+/* Stable release.
+ *
+ * We don't want assertions because the X server should stay alive
+ * if possible. We also don't want self-checks for performance-reasons.
+ */
+# define noFATAL_BUGS
+# define noSELF_CHECKS
+#else
+/* Development snapshot.
+ *
+ * These are the things that get shipped in development distributions
+ * such as Rawhide. We want both self-checking and fatal assertions
+ * to catch as many bugs as possible.
+ */
+# define FATAL_BUGS
+# define SELF_CHECKS
+#endif
+
+#ifndef FATAL_BUGS
+# undef assert
+# undef abort
+# define assert(expr)
+# define abort()
+#endif
+
+#ifdef SELF_CHECKS
static void
log_region_error (const char *function, const char *message)
@@ -83,9 +118,7 @@ log_region_error (const char *function, const char *message)
"Set a breakpoint on 'log_region_error' to debug\n\n",
function, message);
-#if defined PIXMAN_REGION_DEBUG
- abort ();
-#endif
+ abort (); /* This is #defined away unless FATAL_BUGS is defined */
n_messages++;
}
More information about the xorg-commit
mailing list