[mutter/cherry-pick-f5949af0] barrier: Complain loudly if bogus barriers are created




commit ec1c996a1196d158e6c40b5ce179df30da1fc5cb
Author: Jonas Ådahl <jadahl gmail com>
Date:   Fri Nov 27 14:41:17 2020 +0000

    barrier: Complain loudly if bogus barriers are created
    
    The API allows for invalid barriers to be created; in an X11 session,
    this could result in involutary early exit, so guard against those with
    soft asserts. These will be logged in the journal as warnings, but will
    avoid the crash unless compiled out.
    
    Note that this doesn't fix the bug, it just makes it more detectable.
    
    Related: https://bugzilla.redhat.com/show_bug.cgi?id=1901610
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1611>
    
    
    (cherry picked from commit f5949af0bbbb84931382aeabc8dadd2c4e82b8e4)

 src/backends/meta-barrier.c | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/src/backends/meta-barrier.c b/src/backends/meta-barrier.c
index 71536c3d71..ea2a77c208 100644
--- a/src/backends/meta-barrier.c
+++ b/src/backends/meta-barrier.c
@@ -180,6 +180,10 @@ meta_barrier_constructed (GObject *object)
 
   g_return_if_fail (priv->border.line.a.x == priv->border.line.b.x ||
                     priv->border.line.a.y == priv->border.line.b.y);
+  g_return_if_fail (priv->border.line.a.x >= 0);
+  g_return_if_fail (priv->border.line.a.y >= 0);
+  g_return_if_fail (priv->border.line.b.x >= 0);
+  g_return_if_fail (priv->border.line.b.y >= 0);
 
 #if defined(HAVE_NATIVE_BACKEND)
   if (META_IS_BACKEND_NATIVE (meta_get_backend ()))


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