commit 08195c1d958eb507b5e3a2e2aa18fd3dc238c287
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Thu Nov 24 01:18:21 2022 +0100

    Fix potential crash with 32bit ucs4 codepoints
    
    QChar codepoints are 16 bit, so it is not wise to pass blindly a
    char_type value to the QChar constructor.
    
    Use the already defined isSpace() helper tht takes care of this issue.
    
    Related to #12519, which is only known to bite with Qt6 for now; this
    bug is thus theoretical in 2.3.
---
 src/frontends/qt4/GuiFontMetrics.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/frontends/qt4/GuiFontMetrics.cpp 
b/src/frontends/qt4/GuiFontMetrics.cpp
index 5bdbf18..b76538e 100644
--- a/src/frontends/qt4/GuiFontMetrics.cpp
+++ b/src/frontends/qt4/GuiFontMetrics.cpp
@@ -18,9 +18,10 @@
 #include "Dimension.h"
 
 #include "support/convert.h"
+#include "support/debug.h"
 #include "support/lassert.h"
 #include "support/lyxlib.h"
-#include "support/debug.h"
+#include "support/textutils.h"
 
 #define DISABLE_PMPROF
 #include "support/pmprof.h"
@@ -424,7 +425,7 @@ int GuiFontMetrics::countExpanders(docstring const & str) 
const
        bool wasspace = false;
        int nexp = 0;
        for (char_type c : str)
-               if (c > 0x0d && QChar(c).isSpace()) {
+               if (c > 0x0d && isSpace(c)) {
                        if (!wasspace) {
                                ++nexp;
                                wasspace = true;
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to