From 0a33374c0d8125e27666fe513506fb6069df453c Mon Sep 17 00:00:00 2001 From: Vincent van Ravesteijn Date: Wed, 23 May 2012 01:31:43 +0200 Subject: [PATCH] Fix bug #8166: Crash on clicking away from empty paragraph We rely on the 'or' operator to prevent us from calling 'notifyCursorLeaves' if one of the two cursors is broken. This doesn't work when using the '|' operator. The compiler 'optimizes' the code in such a way that we always call notifyCursorLeaves anyway. Using the '||' operator fixes this. --- src/BufferView.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BufferView.cpp b/src/BufferView.cpp index a30c0f0c2f..1017cea7c0 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -2201,8 +2201,8 @@ void BufferView::mouseEventDispatch(FuncRequest const & cmd0) // Notify left insets if (cur != old) { - bool badcursor = old.fixIfBroken() | cur.fixIfBroken() - | notifyCursorLeavesOrEnters(old, cur); + bool badcursor = old.fixIfBroken() || cur.fixIfBroken() + || notifyCursorLeavesOrEnters(old, cur); if (badcursor) cursor().fixIfBroken(); } -- 2.39.2