Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-119000

Q_ASSERT triggered in QTextDocumentPrivate::plainText()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.7.0 FF
    • dev
    • GUI: Text handling
    • None
    • 96e3d06b6f216fb802acc6dd1a7dca113f782508

    Description

      a83a818791bc88725e07ea41b7c5fa50828e6b24 apparently introduced the possibility of crashs. 

      "bt -full\n"
      >~"#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44\n"
      >~"        tid = <optimized out>\n"
      >~"        ret = 0\n"
      >~"        pd = <optimized out>\n"
      >~"        old_mask = {__val = {139819439088448}}\n"
      >~"        ret = <optimized out>\n"
      >~"        pd = <optimized out>\n"
      >~"        old_mask = <optimized out>\n"
      >~"        ret = <optimized out>\n"
      >~"        tid = <optimized out>\n"
      >~"        ret = <optimized out>\n"
      >~"        resultvar = <optimized out>\n"
      >~"        resultvar = <optimized out>\n"
      >~"        __arg3 = <optimized out>\n"
      >~"        __arg2 = <optimized out>\n"
      >~"        __arg1 = <optimized out>\n"
      >~"        _a3 = <optimized out>\n"
      >~"        _a2 = <optimized out>\n"
      >~"        _a1 = <optimized out>\n"
      >~"        __futex = <optimized out>\n"
      >~"        resultvar = <optimized out>\n"
      >~"        __arg3 = <optimized out>\n"
      >~"        __arg2 = <optimized out>\n"
      >~"        __arg1 = <optimized out>\n"
      >~"        _a3 = <optimized out>\n"
      >~"        _a2 = <optimized out>\n"
      >~"        _a1 = <optimized out>\n"
      >~"        __futex = <optimized out>\n"
      >~"        __private = <optimized out>\n"
      >~"        __oldval = <optimized out>\n"
      >~"#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78\n"
      >~"No locals.\n"
      >~"#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89\n"
      >~"No locals.\n"
      >~"#3  0x00007f2b99e3c406 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26\n"
      >~"        ret = <optimized out>\n"
      >~"#4  0x00007f2b99e2287c in __GI_abort () at ./stdlib/abort.c:79\n"
      >~"        save_stage = 1\n"
      >~"        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {139820065816080, 98, 6028636432318541312, 8589934594, 139825251348444, 139819439088480, 139825251348467, 139819439088575, 139819439088592, 139819439088512, 139825251351374, 139819439088575, 139819439088592, 139819439088640, 139825251348689, 0}}, sa_flags = 1073734704, sa_restorer = 0x7f2a3fffe580}\n"
      >~"#5  0x00007f2b9a6ef52c in qAbort () at /data/dev/qt-6/qtbase/src/corelib/global/qglobal.cpp:161\n"
      >~"No locals.\n"
      >~"#6  0x00007f2b9a6ff87c in qt_message_fatal<QString&> (context=..., message=...) at /data/dev/qt-6/qtbase/src/corelib/global/qlogging.cpp:2028\n"
      >~"No locals.\n"
      >~"#7  0x00007f2b9a6f9dc0 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, context=..., msg=0x7f2b9ac88880 \"ASSERT: \\\"%s\\\" in file %s, line %d\", ap=0x7f2a3fffe480) at /data/dev/qt-6/qtbase/src/corelib/global/qlogging.cpp:377\n"
      
      
      >~"        buf = {d = {d = 0x7f2a655afcf0, ptr = 0x7f2a655afd00 u\"ASSERT: \\\"n <= size() - pos\\\" in file /data/dev/qt-6/qtbase/src/corelib/text/qstringview.h, line 423\", size = 98}, static _empty = 0 u'\\000'}\n"
      >~"#8  0x00007f2b9a6fb498 in QMessageLogger::fatal (this=0x7f2a3fffe580, msg=0x7f2b9ac88880 \"ASSERT: \\\"%s\\\" in file %s, line %d\") at /data/dev/qt-6/qtbase/src/corelib/global/qlogging.cpp:900\n"
      >~"        ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7f2a3fffe560, reg_save_area = 0x7f2a3fffe4a0}}\n"
      >~"#9  0x00007f2b9a6edb59 in qt_assert (assertion=0x7f2b9c1bc27b \"n <= size() - pos\", file=0x7f2b9c1bc228 \"/data/dev/qt-6/qtbase/src/corelib/text/qstringview.h\", line=423) at /data/dev/qt-6/qtbase/src/corelib/global/qassert.cpp:68\n"
      >~"No locals.\n"
      >~"#10 0x00007f2b9b77074d in QStringView::verify (n=4, pos=92202, this=0x7f2a3fffe650) at /data/dev/qt-6/qtbase/src/corelib/text/qstringview.h:423\n"
      >~"No locals.\n"
      >~"#11 QStringView::sliced (this=0x7f2a3fffe650, pos=92202, n=4) at /data/dev/qt-6/qtbase/src/corelib/text/qstringview.h:220\n"
      >~"No locals.\n"
      >~"#12 0x00007f2b9bbd4967 in QTextDocumentPrivate::plainText (this=0x7f2a141ad900) at /data/dev/qt-6/qtbase/src/gui/text/qtextdocument_p.cpp:1311\n"
      >~"        f = 0x563dda151430\n"
      
      
      >~"        __for_range = @0x7f2a141ad900: {<QObjectPrivate> = {<QObjectData> = {_vptr.QObjectData = 0x7f2b9c674da0 <vtable for QTextDocumentPrivate+16>, q_ptr = 0x563dd7519158, parent = 0x563dc8543a40, children = {<QListSpecialMethods<QObject*>> = {<QListSpecialMethodsBase<QObject*>> = {<No data fields>}, <No data fields>}, d = {d = 0x563dd2fbee80, ptr = 0x563dd2fbee90, size = 2}}, isWidget = 0, blockSig = 0, wasDeleted = 0, isDeletingChildren = 0, sendChildEvents = 1, receiveChildEvents = 1, isWindow = 0, deleteLaterCalled = 0, isQuickItem = 0, willBeWidget = 0, wasWidget = 0, receiveParentEvents = 0, unused = 208, postedEvents = {<QAtomicInteger<int>> = {<QBasicAtomicInteger<int>> = {_q_value = std::atomic<int> = { 0 }}, <No data fields>}, <No data fields>}, metaObject = 0x0, bindingStorage = {d = 0x0, bindingStatus = 0x7f2b9c69e3e0}}, extraData = 0x563dd97a2b60, threadData = {<QBasicAtomicPointer<QThreadData>> = {_q_value = std::atomic<QThreadData *> = { 0x563dc5f5b780 }}, <No data fields>}, connections = {<QBasicAtomicPointer<QObjectPrivate::ConnectionData>> = {_q_value = std::atomic<QObjectPrivate::ConnectionData *> = { 0x563dd6d6a3d0 }}, <No data fields>}, {currentChildBeingDeleted = 0x0, declarativeData = 0x0}, sharedRefcount = {<QBasicAtomicPointer<QtSharedPointer::ExternalRefCountData>> = {_q_value = std::atomic<QtSharedPointer::ExternalRefCountData *> = { 0x563dd08f7f00 }}, <No data fields>}}, wasUndoAvailable = true, wasRedoAvailable = false, text = {d = {d = 0x563dda0ac370, ptr = 0x563dda0ac380 u\"\\x2029// Copyright (C) 2016 The Qt Company Ltd.\\n// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0\\n\\n#include \\\"icore.h\\\"\\n\\n#include \\\"actionmanager/actioncontainer.h\\\"\\n#include \\\"actionmanager/actionmanager.h\\\"\\n#include \\\"actionmanager/command.h\\\"\\n#include \\\"coreicons.h\\\"\\n#include \\\"coreplugintr.h\\\"\\n#include \\\"coreplugintr.h\\\"\\n#include \\\"dialogs/externaltoolconfig.h\\\"\\n#include \\\"dialogs/settingsdialog.h\\\"\\n#include \\\"dialogs/shortcutsettings.h\\\"\\n#include \\\"documentmanager.h\\\"\\n#include \\\"editormanager/documentmodel_p.h\\\"\\n#include \\\"editormanager/editormanager.h\\\"\\n#include \\\"editormanager/editormanager_p.h\\\"\\n#include \\\"editormanager/ieditor.h\\\"\\n#include \\\"editormanager/ieditorfactory.h\\\"\\n#include \\\"editormanager/systemeditor.h\\\"\\n#include \\\"externaltoolmanager.h\\\"\\n#include \\\"fancytabwidget.h\\\"\\n#include \\\"fileutils.h\\\"\\n#include \\\"find/basetextfind.h\\\"\\n#include \\\"findplaceholder.h\\\"\\n#include \\\"helpmanager.h\\\"\\n#include \\\"icore.h\\\"\\n#include \\\"idocumentfactory.h\\\"\\n#include \\\"inavigationwidgetfactory.h\\\"\\n#include \\\"iwizardfactory.h\\\"\\n#include \\\"jsexpander.h\\\"\\n#include \\\"loggingviewer.h\\\"\\n#include \\\"manhattanstyle.h\\\"\\n#include \\\"messagemanager.h\\\"\\n#include \\\"mimetypesettings.h\\\"\\n#include \\\"modemanager.h\\\"\\n#include \\\"navigationwidget.h\\\"\\n#include \\\"outputpanemanager.h\\\"\\n#include \\\"plugindialog.h\\\"\\n#include \\\"progressmanager/progressmanager_p.h\\\"\\n#include \\\"progressmanager/progressview.h\\\"\\n#include \\\"rightpane.h\\\"\\n#include \\\"statusbarmanager.h\\\"\\n#include \\\"systemsettings.h\\\"\\n#include \\\"vcsmanager.h\\\"\\n#include \\\"versiondialog.h\\\"\\n#include \\\"windowsupport.h\\\"\\n\\n#include <extensionsystem/pluginmanager.h>\\n\\n#include <utils/algorithm.h>\\n#include <utils/appinfo.h>\\n#include <utils/checkablemessagebox.h>\\n#include <utils/environment.h>\\n#include <utils/fileutils.h>\\n#include <utils/fsengine/fileiconprovider.h>\\n#include <utils/fsengine/fsengine.h>\\n#include <utils/historycompleter.h>\\n#include <utils/hostosinfo.h>\\n#include <utils/mimeutils.h>\\n#include <utils/proxyaction.h>\\n#include <utils/qtcassert.h>\\n#include <utils/stringutils.h>\\n#include <utils/stylehelper.h>\\n#include <utils/terminalcommand.h>\\n#include <utils/theme/theme.h>\\n#include <utils/touchbar/touchbar.h>\\n#include <utils/utilsicons.h>\\n\\n#include <nanotrace/nanotrace.h>\\n\\n#include <QActionGroup>\\n#include <QApplication>\\n#include <QCloseEvent>\\n#include <QColorDialog>\\n#include <QComboBox>\\n#include <QDebug>\\n#include <QDialogButtonBox>\\n#include <QLibraryInfo>\\n#include <QMenu>\\n#include <QMenuBar>\\n#include <QMessageBox>\\n#include <QPrinter>\\n#include <QStandardPaths>\\n#include <QStatusBar>\\n#include <QStyleFactory>\\n#include <QSysInfo>\\n#include <QTextBrowser>\\n#include <QTimer>\\n#include <QToolButton>\\n#include <QVersionNumber>\\n\\n#ifdef Q_OS_LINUX\\n#include <malloc.h>\\n#endif\\n\\n/*!\\n    \\\\namespace Core\\n    \\\\inmodule QtCreator\\n    \\\\brief The Core namespace contains all classes that make up the Core plugin\\n    which constitute the basic functionality of \\\\QC.\\n*/\\n\\n/*!\\n    \\\\enum Utils::FindFlag\\n    This enum holds the find flags.\\n\\n    \\\\value FindBackward\\n\", ' ' <repeats 11 times>, \"Searches backwards.\\n    \\\\value FindCaseSensitively\\n\", ' ' <repeats 11 times>, \"Considers case when searching.\\n    \\\\value FindWholeWords\\n\", ' ' <repeats 11 times>, \"Finds only whole words.\\n    \\\\value FindRegularExpression\\n\", ' ' <repeats 11 times>, \"Uses a regular epression as a search term.\\n    \\\\value FindPreserveCase\\n\", ' ' <repeats 11 times>, \"Preserves the case when replacing search terms.\\n*/\\n\\n/*!\\n    \\\\enum Core::ICore::ContextPriority\\n\\n    This enum defines the priority of additional contexts.\\n\\n    \\\\value High\\n\", ' ' <repeats 11 times>, \"Additional contexts that have higher priority than contexts from\\n\", ' ' <repeats 11 times>, \"Core::IContext instances.\\n    \\\\value Low\\n\", ' ' <repeats 11 times>, \"Additional contexts that have lower priority than contexts from\\n\", ' ' <repeats 11 times>, \"Core::IContext instances.\\n\\n    \\\\sa Core::ICore::updateAdditionalContexts()\\n*/\\n\\n/*!\\n    \\\\enum Core::SaveSettingsReason\\n    \\\\internal\\n*/\\n\\n/*!\\n    \\\\namespace Core::Internal\\n    \\\\internal\\n*/\\n\\n/*!\\n    \\\\class Core::ICore\\n    \\\\inheaderfile coreplugin/icore.h\\n    \\\\inmodule QtCreator\\n    \\\\ingroup mainclasses\\n\\n    \\\\brief The ICore class allows access to the different parts that make up\\n    the basic functionality of \\\\QC.\\n\\n    You should never create a subclass of this interface. The one and only\\n    instance is created by the Core plugin. You can access this instance\\n    from your plugin through instance().\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::coreAboutToOpen()\\n\\n    Indicates that all plugins have been loaded and the main window is about to\\n    be shown.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::coreOpened()\\n    Indicates that all plugins have been loaded and the main window is shown.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::saveSettingsRequested(Core::ICore::SaveSettingsReason reason)\\n    Signals that the user has requested that the global settings\\n    should be saved to disk for a \\\\a reason.\\n\\n    At the moment that happens when the application is closed, and on \\\\uicontrol{Save All}.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::coreAboutToClose()\\n    Enables plugins to perform some pre-end-of-life actions.\\n\\n    The application is guaranteed to shut down after this signal is emitted.\\n    It is there as an addition to the usual plugin lifecycle functions, namely\\n    \\\\c IPlugin::aboutToShutdown(), just for convenience.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::contextAboutToChange(const QList<Core::IContext *> &context)\\n    Indicates that a new \\\\a context will shortly become the current context\\n    (meaning that its widget got focus).\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::contextChanged(const Core::Context &context)\\n    Indicates that a new \\\\a context just became the current context. This includes the context\\n    from the focus object as well as the additional context.\\n*/\\n\\n#include \\\"dialogs/newdialogwidget.h\\\"\\n#include \\\"dialogs/newdialog.h\\\"\\n#include \\\"iwizardfactory.h\\\"\\n#include \\\"documentmanager.h\\\"\\n\\n#include <utils/hostosinfo.h>\\n\\n#include <QCoreApplication>\\n#include <QDebug>\\n#include <QDir>\\n#include <QMessageBox>\\n#include <QPushButton>\\n#include <QStatusBar>\\n\\nusing namespace Core::Internal;\\nusing namespace ExtensionSystem;\\nusing namespace Utils;\\n\\nnamespace Core {\\n\\nconst char settingsGroup[] = \\\"MainWindow\\\";\\nconst char colorKey[] = \\\"Color\\\";\\nconst char windowGeometryKey[] = \\\"WindowGeometry\\\";\\nconst char windowStateKey[] = \\\"WindowState\\\";\\nconst char modeSelectorLayoutKey[] = \\\"ModeSelectorLayout\\\";\\nconst char menubarVisibleKey[] = \\\"MenubarVisible\\\";\\n\\nnamespace Internal {\\n\\nclass MainWindow : public AppMainWindow\\n{\\npublic:\\n    MainWindow()\\n    {\\n        setWindowTitle(QGuiApplication::applicationDisplayName());\\n        setDockNestingEnabled(true);\\n        setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);\\n        setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea);\\n    }\\n\\nprivate:\\n    void closeEvent(QCloseEvent *event) override;\\n    void keyPressEvent(QKeyEvent *event) override;\\n    void mousePressEvent(QMouseEvent *event) override;\\n};\\n\\nstatic QColor s_overrideColor;\\n\\n// The Core Singleton\\nstatic ICore *m_core = nullptr;\\n\\nstatic NewDialog *defaultDialogFactory(QWidget *parent)\\n{\\n    return new NewDialogWidget(parent);\\n}\\nclass ICorePrivate : public QObject\\n{\\npublic:\\n    ICorePrivate() {}\\n\\n    ~ICorePrivate();\\n\\n    void init();\\n\\n    static void openFile();\\n    void aboutToShowRecentFiles();\\n\\n    static void setFocusToEditor();\\n    void aboutQtCreator();\\n    void aboutPlugins();\\n    void changeLog();\\n    void contact();\\n    void updateFocusWidget(QWidget *old, QWidget *now);\\n    NavigationWidget *navigationWidget(Side side) const;\\n    void setSidebarVisible(bool visible, Side side);\\n    void destroyVersionDialog();\\n    void openDroppedFiles(const QList<Utils::DropSupport::FileSpec> &files);\\n    void restoreWindowState();\\n\\n    void openFileFromDevice();\\n\\n    void updateContextObject(const QList<IContext *> &context);\\n    void updateContext();\\n\\n    void registerDefaultContainers();\\n    void registerDefaultActions();\\n    void registerModeSelectorStyleActions();\\n\\n    void readSettings();\\n    void saveWindowSettings();\\n\\n    void updateModeSelectorStyleMenu();\\n\\n    MainWindow *m_mainwindow = nullptr;\\n    QTimer m_trimTimer;\\n    QStringList m_aboutInformation;\\n    Context m_highPrioAdditionalContexts;\\n    Context m_lowPrioAdditionalContexts{Constants::C_GLOBAL};\\n    mutable QPrinter *m_printer = nullptr;\\n    WindowSupport *m_windowSupport = nullptr;\\n    EditorManager *m_editorManager = nullptr;\\n    ExternalToolManager *m_externalToolManager = nullptr;\\n    MessageManager *m_messageManager = nullptr;\\n    ProgressManagerPrivate *m_progressManager = nullptr;\\n    JsExpander *m_jsExpander = nullptr;\\n    VcsManager *m_vcsManager = nullptr;\\n    ModeManager *m_modeManager = nullptr;\\n    FancyTabWidget *m_modeStack = nullptr;\\n    NavigationWidget *m_leftNavigationWidget = nullptr;\\n    NavigationWidget *m_rightNavigationWidget = nullptr;\\n    RightPaneWidget *m_rightPaneWidget = nullptr;\\n    VersionDialog *m_versionDialog = nullptr;\\n\\n    QList<IContext *> m_activeContext;\\n\\n    std::unordered_map<QWidget *, IContext *> m_contextWidgets;\\n\\n    ShortcutSettings *m_shortcutSettings = nullptr;\\n    ToolSettings *m_toolSettings = nullptr;\\n    MimeTypeSettings *m_mimeTypeSettings = nullptr;\\n    SystemEditor *m_systemEditor = nullptr;\\n\\n    // actions\\n    QAction *m_focusToEditor = nullptr;\\n    QAction *m_newAction = nullptr;\\n    QAction *m_openAction = nullptr;\\n    QAction *m_openWithAction = nullptr;\\n    QAction *m_openFromDeviceAction = nullptr;\\n    QAction *m_saveAllAction = nullptr;\\n    QAction *m_exitAction = nullptr;\\n    QAction *m_optionsAction = nullptr;\\n    QAction *m_loggerAction = nullptr;\\n    QAction *m_toggleLeftSideBarAction = nullptr;\\n    QAction *m_toggleRightSideBarAction = nullptr;\\n    QAction *m_toggleMenubarAction = nullptr;\\n    QAction *m_cycleModeSelectorStyleAction = nullptr;\\n    QAction *m_setModeSelectorStyleIconsAndTextAction = nullptr;\\n    QAction *m_setModeSelectorStyleHiddenAction = nullptr;\\n    QAction *m_setModeSelectorStyleIconsOnlyAction = nullptr;\\n    QAction *m_themeAction = nullptr;\\n\\n    QToolButton *m_toggleLeftSideBarButton = nullptr;\\n    QToolButton *m_toggleRightSideBarButton = nullptr;\\n\"..., size = 92206}, static _empty = 0 u'\\000'}, unreachableCharacterCount = 0, undoStack = {<QListSpecialMethods<QTextUndoCommand>> = {<QListSpecialMethodsBase<QTextUndoCommand>> = {<No data fields>}, <No data fields>}, d = {d = 0x563dd2ffd7b0, ptr = 0x563dd2ffd7c0, size = 36}}, undoEnabled = true, undoState = 36, revision = 41, modifiedState = 8, modified = true, editBlock = 0, editBlockCursorPosition = -1, docChangeFrom = 60595, docChangeOldLength = 0, docChangeLength = 1, framesDirty = false, formats = {formats = {<QListSpecialMethods<QTextFormat>> = {<QListSpecialMethodsBase<QTextFormat>> = {<No data fields>}, <No data fields>}, d = {d = 0x563dd1a89ee0, ptr = 0x563dd1a89ef0, size = 23}}, objFormats = {<QListSpecialMethods<int>> = {<QListSpecialMethodsBase<int>> = {<No data fields>}, <No data fields>}, d = {d = 0x563dd7aca7f0, ptr = 0x563dd7aca800, size = 1}}, hashes = {d = 0x563dd8ebd910, m_size = 23}, defaultFnt = {d = {d = 0x563dd19c92a0}, resolve_mask = 131194}, defaultFormat = {<QTextFormat> = {d = {d = 0x0}, format_type = 2}, <No data fields>}}, rtFrame = 0x563dd74f7930, lout = 0x563dd77f2d20, fragments = {data = {{head = 0x563dda12c350, fragments = 0x563dda12c350}}}, blocks = {data = {{head = 0x563dda0ec380, fragments = 0x563dda0ec380}}}, initialBlockCharFormatIndex = 0, cursors = {q_hash = {d = 0x563dda20c110}}, objects = {d = {d = 0x563dd2bb6580}}, resources = {d = {d = 0x0}}, cachedResources = {d = {d = 0x0}}, resourceProvider = {<std::_Maybe_unary_or_binary_function<QVariant, QUrl const&>> = {<std::unary_function<QUrl const&, QVariant>> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\\000' <repeats 15 times>}, _M_manager = 0x0}, _M_invoker = 0x0}, defaultStyleSheet = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\\000'}, lastBlockCount = 2546, inContentsChange = true, layoutEnabled = true, defaultTextOption = {align = 1, wordWrap = 0, design = 0, direction = 0, unused = 0, f = 2147483653, tab = 31.1875, d = 0x0}, defaultCursorMoveStyle = Qt::LogicalMoveStyle, parsedDefaultStyleSheet = {styleRules = {<QListSpecialMethods<QCss::StyleRule>> = {<QListSpecialMethodsBase<QCss::StyleRule>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}, mediaRules = {<QListSpecialMethods<QCss::MediaRule>> = {<QListSpecialMethodsBase<QCss::MediaRule>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}, pageRules = {<QListSpecialMethods<QCss::PageRule>> = {<QListSpecialMethodsBase<QCss::PageRule>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}, importRules = {<QListSpecialMethods<QCss::ImportRule>> = {<QListSpecialMethodsBase<QCss::ImportRule>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}, origin = QCss::StyleSheetOrigin_Unspecified, depth = 0, nameIndex = {d = 0x0, m_size = 0}, idIndex = {d = 0x0, m_size = 0}}, maximumBlockCount = 0, needsEnsureMaximumBlockCount = 0, blockCursorAdjustment = 0, pageSize = {wd = -1, ht = -1}, title = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\\000'}, url = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\\000'}, cssMedia = {d = {d = 0x0, ptr = 0x7f2b9c22751a u\"screen\", size = 6}, static _empty = 0 u'\\000'}, indentWidth = 40, documentMargin = 4, baseUrl = {d = 0x0}}\n"
      >~"        __for_begin = {pt = 0x7f2a141ada58, n = 4743}\n"
      
      
      >~"        __for_end = {pt = 0x7f2a141ada58, n = 0}\n"
      >~"        result = {d = {d = 0x7f2a661e0f20, ptr = 0x7f2a661e0f30 u\"// Copyright (C) 2016 The Qt Company Ltd.\\x2029// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0\\x2029\\x2029#include \\\"icore.h\\\"\\x2029\\x2029#include \\\"actionmanager/actioncontainer.h\\\"\\x2029#include \\\"actionmanager/actionmanager.h\\\"\\x2029#include \\\"actionmanager/command.h\\\"\\x2029#include \\\"coreicons.h\\\"\\x2029#include \\\"coreplugintr.h\\\"\\x2029#include \\\"coreplugintr.h\\\"\\x2029#include \\\"dialogs/externaltoolconfig.h\\\"\\x2029#include \\\"dialogs/settingsdialog.h\\\"\\x2029#include \\\"dialogs/shortcutsettings.h\\\"\\x2029#include \\\"documentmanager.h\\\"\\x2029#include \\\"editormanager/documentmodel_p.h\\\"\\x2029#include \\\"editormanager/editormanager.h\\\"\\x2029#include \\\"editormanager/editormanager_p.h\\\"\\x2029#include \\\"editormanager/ieditor.h\\\"\\x2029#include \\\"editormanager/ieditorfactory.h\\\"\\x2029#include \\\"editormanager/systemeditor.h\\\"\\x2029#include \\\"externaltoolmanager.h\\\"\\x2029#include \\\"fancytabwidget.h\\\"\\x2029#include \\\"fileutils.h\\\"\\x2029#include \\\"find/basetextfind.h\\\"\\x2029#include \\\"findplaceholder.h\\\"\\x2029#include \\\"helpmanager.h\\\"\\x2029#include \\\"icore.h\\\"\\x2029#include \\\"idocumentfactory.h\\\"\\x2029#include \\\"inavigationwidgetfactory.h\\\"\\x2029#include \\\"iwizardfactory.h\\\"\\x2029#include \\\"jsexpander.h\\\"\\x2029#include \\\"loggingviewer.h\\\"\\x2029#include \\\"manhattanstyle.h\\\"\\x2029#include \\\"messagemanager.h\\\"\\x2029#include \\\"mimetypesettings.h\\\"\\x2029#include \\\"modemanager.h\\\"\\x2029#include \\\"navigationwidget.h\\\"\\x2029#include \\\"outputpanemanager.h\\\"\\x2029#include \\\"plugindialog.h\\\"\\x2029#include \\\"progressmanager/progressmanager_p.h\\\"\\x2029#include \\\"progressmanager/progressview.h\\\"\\x2029#include \\\"rightpane.h\\\"\\x2029#include \\\"statusbarmanager.h\\\"\\x2029#include \\\"systemsettings.h\\\"\\x2029#include \\\"vcsmanager.h\\\"\\x2029#include \\\"versiondialog.h\\\"\\x2029#include \\\"windowsupport.h\\\"\\x2029\\x2029#include <extensionsystem/pluginmanager.h>\\x2029\\x2029#include <utils/algorithm.h>\\x2029#include <utils/appinfo.h>\\x2029#include <utils/checkablemessagebox.h>\\x2029#include <utils/environment.h>\\x2029#include <utils/fileutils.h>\\x2029#include <utils/fsengine/fileiconprovider.h>\\x2029#include <utils/fsengine/fsengine.h>\\x2029#include <utils/historycompleter.h>\\x2029#include <utils/hostosinfo.h>\\x2029#include <utils/mimeutils.h>\\x2029#include <utils/proxyaction.h>\\x2029#include <utils/qtcassert.h>\\x2029#include <utils/stringutils.h>\\x2029#include <utils/stylehelper.h>\\x2029#include <utils/terminalcommand.h>\\x2029#include <utils/theme/theme.h>\\x2029#include <utils/touchbar/touchbar.h>\\x2029#include <utils/utilsicons.h>\\x2029\\x2029#include <nanotrace/nanotrace.h>\\x2029\\x2029#include <QActionGroup>\\x2029#include <QApplication>\\x2029#include <QCloseEvent>\\x2029#include <QColorDialog>\\x2029#include <QComboBox>\\x2029#include <QDebug>\\x2029#include <QDialogButtonBox>\\x2029#include <QLibraryInfo>\\x2029#include <QMenu>\\x2029#include <QMenuBar>\\x2029#include <QMessageBox>\\x2029#include <QPrinter>\\x2029#include <QStandardPaths>\\x2029#include <QStatusBar>\\x2029#include <QStyleFactory>\\x2029#include <QSysInfo>\\x2029#include <QTextBrowser>\\x2029#include <QTimer>\\x2029#include <QToolButton>\\x2029#include <QVersionNumber>\\x2029\\x2029#ifdef Q_OS_LINUX\\x2029#include <malloc.h>\\x2029#endif\\x2029\\x2029/*!\\x2029    \\\\namespace Core\\x2029    \\\\inmodule QtCreator\\x2029    \\\\brief The Core namespace contains all classes that make up the Core plugin\\x2029    which constitute the basic functionality of \\\\QC.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\enum Utils::FindFlag\\x2029    This enum holds the find flags.\\x2029\\x2029    \\\\value FindBackward\\x2029\", ' ' <repeats 11 times>, \"Searches backwards.\\x2029    \\\\value FindCaseSensitively\\x2029\", ' ' <repeats 11 times>, \"Considers case when searching.\\x2029    \\\\value FindWholeWords\\x2029\", ' ' <repeats 11 times>, \"Finds only whole words.\\x2029    \\\\value FindRegularExpression\\x2029\", ' ' <repeats 11 times>, \"Uses a regular epression as a search term.\\x2029    \\\\value FindPreserveCase\\x2029\", ' ' <repeats 11 times>, \"Preserves the case when replacing search terms.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\enum Core::ICore::ContextPriority\\x2029\\x2029    This enum defines the priority of additional contexts.\\x2029\\x2029    \\\\value High\\x2029\", ' ' <repeats 11 times>, \"Additional contexts that have higher priority than contexts from\\x2029\", ' ' <repeats 11 times>, \"Core::IContext instances.\\x2029    \\\\value Low\\x2029\", ' ' <repeats 11 times>, \"Additional contexts that have lower priority than contexts from\\x2029\", ' ' <repeats 11 times>, \"Core::IContext instances.\\x2029\\x2029    \\\\sa Core::ICore::updateAdditionalContexts()\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\enum Core::SaveSettingsReason\\x2029    \\\\internal\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\namespace Core::Internal\\x2029    \\\\internal\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\class Core::ICore\\x2029    \\\\inheaderfile coreplugin/icore.h\\x2029    \\\\inmodule QtCreator\\x2029    \\\\ingroup mainclasses\\x2029\\x2029    \\\\brief The ICore class allows access to the different parts that make up\\x2029    the basic functionality of \\\\QC.\\x2029\\x2029    You should never create a subclass of this interface. The one and only\\x2029    instance is created by the Core plugin. You can access this instance\\x2029    from your plugin through instance().\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::coreAboutToOpen()\\x2029\\x2029    Indicates that all plugins have been loaded and the main window is about to\\x2029    be shown.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::coreOpened()\\x2029    Indicates that all plugins have been loaded and the main window is shown.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::saveSettingsRequested(Core::ICore::SaveSettingsReason reason)\\x2029    Signals that the user has requested that the global settings\\x2029    should be saved to disk for a \\\\a reason.\\x2029\\x2029    At the moment that happens when the application is closed, and on \\\\uicontrol{Save All}.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::coreAboutToClose()\\x2029    Enables plugins to perform some pre-end-of-life actions.\\x2029\\x2029    The application is guaranteed to shut down after this signal is emitted.\\x2029    It is there as an addition to the usual plugin lifecycle functions, namely\\x2029    \\\\c IPlugin::aboutToShutdown(), just for convenience.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::contextAboutToChange(const QList<Core::IContext *> &context)\\x2029    Indicates that a new \\\\a context will shortly become the current context\\x2029    (meaning that its widget got focus).\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::contextChanged(const Core::Context &context)\\x2029    Indicates that a new \\\\a context just became the current context. This includes the context\\x2029    from the focus object as well as the additional context.\\x2029*/\\x2029\\x2029#include \\\"dialogs/newdialogwidget.h\\\"\\x2029#include \\\"dialogs/newdialog.h\\\"\\x2029#include \\\"iwizardfactory.h\\\"\\x2029#include \\\"documentmanager.h\\\"\\x2029\\x2029#include <utils/hostosinfo.h>\\x2029\\x2029#include <QCoreApplication>\\x2029#include <QDebug>\\x2029#include <QDir>\\x2029#include <QMessageBox>\\x2029#include <QPushButton>\\x2029#include <QStatusBar>\\x2029\\x2029using namespace Core::Internal;\\x2029using namespace ExtensionSystem;\\x2029using namespace Utils;\\x2029\\x2029namespace Core {\\x2029\\x2029\\143onst char settingsGroup[] = \\\"MainWindow\\\";\\x2029\\143onst char colorKey[] = \\\"Color\\\";\\x2029\\143onst char windowGeometryKey[] = \\\"WindowGeometry\\\";\\x2029\\143onst char windowStateKey[] = \\\"WindowState\\\";\\x2029\\143onst char modeSelectorLayoutKey[] = \\\"ModeSelectorLayout\\\";\\x2029\\143onst char menubarVisibleKey[] = \\\"MenubarVisible\\\";\\x2029\\x2029namespace Internal {\\x2029\\x2029\\143lass MainWindow : public AppMainWindow\\x2029{\\x2029public:\\x2029    MainWindow()\\x2029    {\\x2029        setWindowTitle(QGuiApplication::applicationDisplayName());\\x2029        setDockNestingEnabled(true);\\x2029        setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);\\x2029        setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea);\\x2029    }\\x2029\\x2029private:\\x2029    void closeEvent(QCloseEvent *event) override;\\x2029    void keyPressEvent(QKeyEvent *event) override;\\x2029    void mousePressEvent(QMouseEvent *event) override;\\x2029};\\x2029\\x2029static QColor s_overrideColor;\\x2029\\x2029// The Core Singleton\\x2029static ICore *m_core = nullptr;\\x2029\\x2029static NewDialog *defaultDialogFactory(QWidget *parent)\\x2029{\\x2029    return new NewDialogWidget(parent);\\x2029}\\x2029\\143lass ICorePrivate : public QObject\\x2029{\\x2029public:\\x2029    ICorePrivate() {}\\x2029\\x2029    ~ICorePrivate();\\x2029\\x2029    void init();\\x2029\\x2029    static void openFile();\\x2029    void aboutToShowRecentFiles();\\x2029\\x2029    static void setFocusToEditor();\\x2029    void aboutQtCreator();\\x2029    void aboutPlugins();\\x2029    void changeLog();\\x2029    void contact();\\x2029    void updateFocusWidget(QWidget *old, QWidget *now);\\x2029    NavigationWidget *navigationWidget(Side side) const;\\x2029    void setSidebarVisible(bool visible, Side side);\\x2029    void destroyVersionDialog();\\x2029    void openDroppedFiles(const QList<Utils::DropSupport::FileSpec> &files);\\x2029    void restoreWindowState();\\x2029\\x2029    void openFileFromDevice();\\x2029\\x2029    void updateContextObject(const QList<IContext *> &context);\\x2029    void updateContext();\\x2029\\x2029    void registerDefaultContainers();\\x2029    void registerDefaultActions();\\x2029    void registerModeSelectorStyleActions();\\x2029\\x2029    void readSettings();\\x2029    void saveWindowSettings();\\x2029\\x2029    void updateModeSelectorStyleMenu();\\x2029\\x2029    MainWindow *m_mainwindow = nullptr;\\x2029    QTimer m_trimTimer;\\x2029    QStringList m_aboutInformation;\\x2029    Context m_highPrioAdditionalContexts;\\x2029    Context m_lowPrioAdditionalContexts{Constants::C_GLOBAL};\\x2029    mutable QPrinter *m_printer = nullptr;\\x2029    WindowSupport *m_windowSupport = nullptr;\\x2029    EditorManager *m_editorManager = nullptr;\\x2029    ExternalToolManager *m_externalToolManager = nullptr;\\x2029    MessageManager *m_messageManager = nullptr;\\x2029    ProgressManagerPrivate *m_progressManager = nullptr;\\x2029    JsExpander *m_jsExpander = nullptr;\\x2029    VcsManager *m_vcsManager = nullptr;\\x2029    ModeManager *m_modeManager = nullptr;\\x2029    FancyTabWidget *m_modeStack = nullptr;\\x2029    NavigationWidget *m_leftNavigationWidget = nullptr;\\x2029    NavigationWidget *m_rightNavigationWidget = nullptr;\\x2029    RightPaneWidget *m_rightPaneWidget = nullptr;\\x2029    VersionDialog *m_versionDialog = nullptr;\\x2029\\x2029    QList<IContext *> m_activeContext;\\x2029\\x2029    std::unordered_map<QWidget *, IContext *> m_contextWidgets;\\x2029\\x2029    ShortcutSettings *m_shortcutSettings = nullptr;\\x2029    ToolSettings *m_toolSettings = nullptr;\\x2029    MimeTypeSettings *m_mimeTypeSettings = nullptr;\\x2029    SystemEditor *m_systemEditor = nullptr;\\x2029\\x2029    // actions\\x2029    QAction *m_focusToEditor = nullptr;\\x2029    QAction *m_newAction = nullptr;\\x2029    QAction *m_openAction = nullptr;\\x2029    QAction *m_openWithAction = nullptr;\\x2029    QAction *m_openFromDeviceAction = nullptr;\\x2029    QAction *m_saveAllAction = nullptr;\\x2029    QAction *m_exitAction = nullptr;\\x2029    QAction *m_optionsAction = nullptr;\\x2029    QAction *m_loggerAction = nullptr;\\x2029    Action m_toggleLeftSideBarAction;\\x2029    Action m_toggleRightSideBarAction;\\x2029    QAction *m_toggleMenubarAction = nullptr;\\x2029    QAction *m_cycleModeSelectorStyleAction = nullptr;\\x2029    QAction *m_setModeSelectorStyleIconsAndTextAction = nullptr;\\x2029    QAction *m_setModeSelectorStyleHiddenAction = nullptr;\\x2029    QAction *m_setModeSelectorStyleIconsOnlyAction = nullptr;\\x2029    QAction *m_themeAction = nullptr;\\x2029\\x2029    QToolButton *m_toggleLeftSideBarButton = nullptr;\\x2029    QToolButton *m_toggleRightSideBarButton = nullptr;\\x2029    QList<std::function<b\"..., size = 60592}, static _empty = 0 u'\\000'}\n"
      >~"        view = {m_size = 92205, m_data = 0x563dda0ac380 u\"\\x2029// Copyright (C) 2016 The Qt Company Ltd.\\n// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0\\n\\n#include \\\"icore.h\\\"\\n\\n#include \\\"actionmanager/actioncontainer.h\\\"\\n#include \\\"actionmanager/actionmanager.h\\\"\\n#include \\\"actionmanager/command.h\\\"\\n#include \\\"coreicons.h\\\"\\n#include \\\"coreplugintr.h\\\"\\n#include \\\"coreplugintr.h\\\"\\n#include \\\"dialogs/externaltoolconfig.h\\\"\\n#include \\\"dialogs/settingsdialog.h\\\"\\n#include \\\"dialogs/shortcutsettings.h\\\"\\n#include \\\"documentmanager.h\\\"\\n#include \\\"editormanager/documentmodel_p.h\\\"\\n#include \\\"editormanager/editormanager.h\\\"\\n#include \\\"editormanager/editormanager_p.h\\\"\\n#include \\\"editormanager/ieditor.h\\\"\\n#include \\\"editormanager/ieditorfactory.h\\\"\\n#include \\\"editormanager/systemeditor.h\\\"\\n#include \\\"externaltoolmanager.h\\\"\\n#include \\\"fancytabwidget.h\\\"\\n#include \\\"fileutils.h\\\"\\n#include \\\"find/basetextfind.h\\\"\\n#include \\\"findplaceholder.h\\\"\\n#include \\\"helpmanager.h\\\"\\n#include \\\"icore.h\\\"\\n#include \\\"idocumentfactory.h\\\"\\n#include \\\"inavigationwidgetfactory.h\\\"\\n#include \\\"iwizardfactory.h\\\"\\n#include \\\"jsexpander.h\\\"\\n#include \\\"loggingviewer.h\\\"\\n#include \\\"manhattanstyle.h\\\"\\n#include \\\"messagemanager.h\\\"\\n#include \\\"mimetypesettings.h\\\"\\n#include \\\"modemanager.h\\\"\\n#include \\\"navigationwidget.h\\\"\\n#include \\\"outputpanemanager.h\\\"\\n#include \\\"plugindialog.h\\\"\\n#include \\\"progressmanager/progressmanager_p.h\\\"\\n#include \\\"progressmanager/progressview.h\\\"\\n#include \\\"rightpane.h\\\"\\n#include \\\"statusbarmanager.h\\\"\\n#include \\\"systemsettings.h\\\"\\n#include \\\"vcsmanager.h\\\"\\n#include \\\"versiondialog.h\\\"\\n#include \\\"windowsupport.h\\\"\\n\\n#include <extensionsystem/pluginmanager.h>\\n\\n#include <utils/algorithm.h>\\n#include <utils/appinfo.h>\\n#include <utils/checkablemessagebox.h>\\n#include <utils/environment.h>\\n#include <utils/fileutils.h>\\n#include <utils/fsengine/fileiconprovider.h>\\n#include <utils/fsengine/fsengine.h>\\n#include <utils/historycompleter.h>\\n#include <utils/hostosinfo.h>\\n#include <utils/mimeutils.h>\\n#include <utils/proxyaction.h>\\n#include <utils/qtcassert.h>\\n#include <utils/stringutils.h>\\n#include <utils/stylehelper.h>\\n#include <utils/terminalcommand.h>\\n#include <utils/theme/theme.h>\\n#include <utils/touchbar/touchbar.h>\\n#include <utils/utilsicons.h>\\n\\n#include <nanotrace/nanotrace.h>\\n\\n#include <QActionGroup>\\n#include <QApplication>\\n#include <QCloseEvent>\\n#include <QColorDialog>\\n#include <QComboBox>\\n#include <QDebug>\\n#include <QDialogButtonBox>\\n#include <QLibraryInfo>\\n#include <QMenu>\\n#include <QMenuBar>\\n#include <QMessageBox>\\n#include <QPrinter>\\n#include <QStandardPaths>\\n#include <QStatusBar>\\n#include <QStyleFactory>\\n#include <QSysInfo>\\n#include <QTextBrowser>\\n#include <QTimer>\\n#include <QToolButton>\\n#include <QVersionNumber>\\n\\n#ifdef Q_OS_LINUX\\n#include <malloc.h>\\n#endif\\n\\n/*!\\n    \\\\namespace Core\\n    \\\\inmodule QtCreator\\n    \\\\brief The Core namespace contains all classes that make up the Core plugin\\n    which constitute the basic functionality of \\\\QC.\\n*/\\n\\n/*!\\n    \\\\enum Utils::FindFlag\\n    This enum holds the find flags.\\n\\n    \\\\value FindBackward\\n\", ' ' <repeats 11 times>, \"Searches backwards.\\n    \\\\value FindCaseSensitively\\n\", ' ' <repeats 11 times>, \"Considers case when searching.\\n    \\\\value FindWholeWords\\n\", ' ' <repeats 11 times>, \"Finds only whole words.\\n    \\\\value FindRegularExpression\\n\", ' ' <repeats 11 times>, \"Uses a regular epression as a search term.\\n    \\\\value FindPreserveCase\\n\", ' ' <repeats 11 times>, \"Preserves the case when replacing search terms.\\n*/\\n\\n/*!\\n    \\\\enum Core::ICore::ContextPriority\\n\\n    This enum defines the priority of additional contexts.\\n\\n    \\\\value High\\n\", ' ' <repeats 11 times>, \"Additional contexts that have higher priority than contexts from\\n\", ' ' <repeats 11 times>, \"Core::IContext instances.\\n    \\\\value Low\\n\", ' ' <repeats 11 times>, \"Additional contexts that have lower priority than contexts from\\n\", ' ' <repeats 11 times>, \"Core::IContext instances.\\n\\n    \\\\sa Core::ICore::updateAdditionalContexts()\\n*/\\n\\n/*!\\n    \\\\enum Core::SaveSettingsReason\\n    \\\\internal\\n*/\\n\\n/*!\\n    \\\\namespace Core::Internal\\n    \\\\internal\\n*/\\n\\n/*!\\n    \\\\class Core::ICore\\n    \\\\inheaderfile coreplugin/icore.h\\n    \\\\inmodule QtCreator\\n    \\\\ingroup mainclasses\\n\\n    \\\\brief The ICore class allows access to the different parts that make up\\n    the basic functionality of \\\\QC.\\n\\n    You should never create a subclass of this interface. The one and only\\n    instance is created by the Core plugin. You can access this instance\\n    from your plugin through instance().\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::coreAboutToOpen()\\n\\n    Indicates that all plugins have been loaded and the main window is about to\\n    be shown.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::coreOpened()\\n    Indicates that all plugins have been loaded and the main window is shown.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::saveSettingsRequested(Core::ICore::SaveSettingsReason reason)\\n    Signals that the user has requested that the global settings\\n    should be saved to disk for a \\\\a reason.\\n\\n    At the moment that happens when the application is closed, and on \\\\uicontrol{Save All}.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::coreAboutToClose()\\n    Enables plugins to perform some pre-end-of-life actions.\\n\\n    The application is guaranteed to shut down after this signal is emitted.\\n    It is there as an addition to the usual plugin lifecycle functions, namely\\n    \\\\c IPlugin::aboutToShutdown(), just for convenience.\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::contextAboutToChange(const QList<Core::IContext *> &context)\\n    Indicates that a new \\\\a context will shortly become the current context\\n    (meaning that its widget got focus).\\n*/\\n\\n/*!\\n    \\\\fn void Core::ICore::contextChanged(const Core::Context &context)\\n    Indicates that a new \\\\a context just became the current context. This includes the context\\n    from the focus object as well as the additional context.\\n*/\\n\\n#include \\\"dialogs/newdialogwidget.h\\\"\\n#include \\\"dialogs/newdialog.h\\\"\\n#include \\\"iwizardfactory.h\\\"\\n#include \\\"documentmanager.h\\\"\\n\\n#include <utils/hostosinfo.h>\\n\\n#include <QCoreApplication>\\n#include <QDebug>\\n#include <QDir>\\n#include <QMessageBox>\\n#include <QPushButton>\\n#include <QStatusBar>\\n\\nusing namespace Core::Internal;\\nusing namespace ExtensionSystem;\\nusing namespace Utils;\\n\\nnamespace Core {\\n\\nconst char settingsGroup[] = \\\"MainWindow\\\";\\nconst char colorKey[] = \\\"Color\\\";\\nconst char windowGeometryKey[] = \\\"WindowGeometry\\\";\\nconst char windowStateKey[] = \\\"WindowState\\\";\\nconst char modeSelectorLayoutKey[] = \\\"ModeSelectorLayout\\\";\\nconst char menubarVisibleKey[] = \\\"MenubarVisible\\\";\\n\\nnamespace Internal {\\n\\nclass MainWindow : public AppMainWindow\\n{\\npublic:\\n    MainWindow()\\n    {\\n        setWindowTitle(QGuiApplication::applicationDisplayName());\\n        setDockNestingEnabled(true);\\n        setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);\\n        setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea);\\n    }\\n\\nprivate:\\n    void closeEvent(QCloseEvent *event) override;\\n    void keyPressEvent(QKeyEvent *event) override;\\n    void mousePressEvent(QMouseEvent *event) override;\\n};\\n\\nstatic QColor s_overrideColor;\\n\\n// The Core Singleton\\nstatic ICore *m_core = nullptr;\\n\\nstatic NewDialog *defaultDialogFactory(QWidget *parent)\\n{\\n    return new NewDialogWidget(parent);\\n}\\nclass ICorePrivate : public QObject\\n{\\npublic:\\n    ICorePrivate() {}\\n\\n    ~ICorePrivate();\\n\\n    void init();\\n\\n    static void openFile();\\n    void aboutToShowRecentFiles();\\n\\n    static void setFocusToEditor();\\n    void aboutQtCreator();\\n    void aboutPlugins();\\n    void changeLog();\\n    void contact();\\n    void updateFocusWidget(QWidget *old, QWidget *now);\\n    NavigationWidget *navigationWidget(Side side) const;\\n    void setSidebarVisible(bool visible, Side side);\\n    void destroyVersionDialog();\\n    void openDroppedFiles(const QList<Utils::DropSupport::FileSpec> &files);\\n    void restoreWindowState();\\n\\n    void openFileFromDevice();\\n\\n    void updateContextObject(const QList<IContext *> &context);\\n    void updateContext();\\n\\n    void registerDefaultContainers();\\n    void registerDefaultActions();\\n    void registerModeSelectorStyleActions();\\n\\n    void readSettings();\\n    void saveWindowSettings();\\n\\n    void updateModeSelectorStyleMenu();\\n\\n    MainWindow *m_mainwindow = nullptr;\\n    QTimer m_trimTimer;\\n    QStringList m_aboutInformation;\\n    Context m_highPrioAdditionalContexts;\\n    Context m_lowPrioAdditionalContexts{Constants::C_GLOBAL};\\n    mutable QPrinter *m_printer = nullptr;\\n    WindowSupport *m_windowSupport = nullptr;\\n    EditorManager *m_editorManager = nullptr;\\n    ExternalToolManager *m_externalToolManager = nullptr;\\n    MessageManager *m_messageManager = nullptr;\\n    ProgressManagerPrivate *m_progressManager = nullptr;\\n    JsExpander *m_jsExpander = nullptr;\\n    VcsManager *m_vcsManager = nullptr;\\n    ModeManager *m_modeManager = nullptr;\\n    FancyTabWidget *m_modeStack = nullptr;\\n    NavigationWidget *m_leftNavigationWidget = nullptr;\\n    NavigationWidget *m_rightNavigationWidget = nullptr;\\n    RightPaneWidget *m_rightPaneWidget = nullptr;\\n    VersionDialog *m_versionDialog = nullptr;\\n\\n    QList<IContext *> m_activeContext;\\n\\n    std::unordered_map<QWidget *, IContext *> m_contextWidgets;\\n\\n    ShortcutSettings *m_shortcutSettings = nullptr;\\n    ToolSettings *m_toolSettings = nullptr;\\n    MimeTypeSettings *m_mimeTypeSettings = nullptr;\\n    SystemEditor *m_systemEditor = nullptr;\\n\\n    // actions\\n    QAction *m_focusToEditor = nullptr;\\n    QAction *m_newAction = nullptr;\\n    QAction *m_openAction = nullptr;\\n    QAction *m_openWithAction = nullptr;\\n    QAction *m_openFromDeviceAction = nullptr;\\n    QAction *m_saveAllAction = nullptr;\\n    QAction *m_exitAction = nullptr;\\n    QAction *m_optionsAction = nullptr;\\n    QAction *m_loggerAction = nullptr;\\n    QAction *m_toggleLeftSideBarAction = nullptr;\\n    QAction *m_toggleRightSideBarAction = nullptr;\\n    QAction *m_toggleMenubarAction = nullptr;\\n    QAction *m_cycleModeSelectorStyleAction = nullptr;\\n    QAction *m_setModeSelectorStyleIconsAndTextAction = nullptr;\\n    QAction *m_setModeSelectorStyleHiddenAction = nullptr;\\n    QAction *m_setModeSelectorStyleIconsOnlyAction = nullptr;\\n    QAction *m_themeAction = nullptr;\\n\\n    QToolButton *m_toggleLeftSideBarButton = nullptr;\\n    QToolButton *m_toggleRightSideBarButton = nullptr;\\n\"...}\n"
      
      
      >~"#13 0x00007f2b9bbb0006 in QTextDocument::toPlainText (this=0x563dd7519158) at /data/dev/qt-6/qtbase/src/gui/text/qtextdocument.cpp:1217\n"
      >~"        d = 0x7f2a141ad900\n"
      >~"        txt = {d = {d = 0x7f2a661e0f20, ptr = 0x7f2a661e0f30 u\"// Copyright (C) 2016 The Qt Company Ltd.\\x2029// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0\\x2029\\x2029#include \\\"icore.h\\\"\\x2029\\x2029#include \\\"actionmanager/actioncontainer.h\\\"\\x2029#include \\\"actionmanager/actionmanager.h\\\"\\x2029#include \\\"actionmanager/command.h\\\"\\x2029#include \\\"coreicons.h\\\"\\x2029#include \\\"coreplugintr.h\\\"\\x2029#include \\\"coreplugintr.h\\\"\\x2029#include \\\"dialogs/externaltoolconfig.h\\\"\\x2029#include \\\"dialogs/settingsdialog.h\\\"\\x2029#include \\\"dialogs/shortcutsettings.h\\\"\\x2029#include \\\"documentmanager.h\\\"\\x2029#include \\\"editormanager/documentmodel_p.h\\\"\\x2029#include \\\"editormanager/editormanager.h\\\"\\x2029#include \\\"editormanager/editormanager_p.h\\\"\\x2029#include \\\"editormanager/ieditor.h\\\"\\x2029#include \\\"editormanager/ieditorfactory.h\\\"\\x2029#include \\\"editormanager/systemeditor.h\\\"\\x2029#include \\\"externaltoolmanager.h\\\"\\x2029#include \\\"fancytabwidget.h\\\"\\x2029#include \\\"fileutils.h\\\"\\x2029#include \\\"find/basetextfind.h\\\"\\x2029#include \\\"findplaceholder.h\\\"\\x2029#include \\\"helpmanager.h\\\"\\x2029#include \\\"icore.h\\\"\\x2029#include \\\"idocumentfactory.h\\\"\\x2029#include \\\"inavigationwidgetfactory.h\\\"\\x2029#include \\\"iwizardfactory.h\\\"\\x2029#include \\\"jsexpander.h\\\"\\x2029#include \\\"loggingviewer.h\\\"\\x2029#include \\\"manhattanstyle.h\\\"\\x2029#include \\\"messagemanager.h\\\"\\x2029#include \\\"mimetypesettings.h\\\"\\x2029#include \\\"modemanager.h\\\"\\x2029#include \\\"navigationwidget.h\\\"\\x2029#include \\\"outputpanemanager.h\\\"\\x2029#include \\\"plugindialog.h\\\"\\x2029#include \\\"progressmanager/progressmanager_p.h\\\"\\x2029#include \\\"progressmanager/progressview.h\\\"\\x2029#include \\\"rightpane.h\\\"\\x2029#include \\\"statusbarmanager.h\\\"\\x2029#include \\\"systemsettings.h\\\"\\x2029#include \\\"vcsmanager.h\\\"\\x2029#include \\\"versiondialog.h\\\"\\x2029#include \\\"windowsupport.h\\\"\\x2029\\x2029#include <extensionsystem/pluginmanager.h>\\x2029\\x2029#include <utils/algorithm.h>\\x2029#include <utils/appinfo.h>\\x2029#include <utils/checkablemessagebox.h>\\x2029#include <utils/environment.h>\\x2029#include <utils/fileutils.h>\\x2029#include <utils/fsengine/fileiconprovider.h>\\x2029#include <utils/fsengine/fsengine.h>\\x2029#include <utils/historycompleter.h>\\x2029#include <utils/hostosinfo.h>\\x2029#include <utils/mimeutils.h>\\x2029#include <utils/proxyaction.h>\\x2029#include <utils/qtcassert.h>\\x2029#include <utils/stringutils.h>\\x2029#include <utils/stylehelper.h>\\x2029#include <utils/terminalcommand.h>\\x2029#include <utils/theme/theme.h>\\x2029#include <utils/touchbar/touchbar.h>\\x2029#include <utils/utilsicons.h>\\x2029\\x2029#include <nanotrace/nanotrace.h>\\x2029\\x2029#include <QActionGroup>\\x2029#include <QApplication>\\x2029#include <QCloseEvent>\\x2029#include <QColorDialog>\\x2029#include <QComboBox>\\x2029#include <QDebug>\\x2029#include <QDialogButtonBox>\\x2029#include <QLibraryInfo>\\x2029#include <QMenu>\\x2029#include <QMenuBar>\\x2029#include <QMessageBox>\\x2029#include <QPrinter>\\x2029#include <QStandardPaths>\\x2029#include <QStatusBar>\\x2029#include <QStyleFactory>\\x2029#include <QSysInfo>\\x2029#include <QTextBrowser>\\x2029#include <QTimer>\\x2029#include <QToolButton>\\x2029#include <QVersionNumber>\\x2029\\x2029#ifdef Q_OS_LINUX\\x2029#include <malloc.h>\\x2029#endif\\x2029\\x2029/*!\\x2029    \\\\namespace Core\\x2029    \\\\inmodule QtCreator\\x2029    \\\\brief The Core namespace contains all classes that make up the Core plugin\\x2029    which constitute the basic functionality of \\\\QC.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\enum Utils::FindFlag\\x2029    This enum holds the find flags.\\x2029\\x2029    \\\\value FindBackward\\x2029\", ' ' <repeats 11 times>, \"Searches backwards.\\x2029    \\\\value FindCaseSensitively\\x2029\", ' ' <repeats 11 times>, \"Considers case when searching.\\x2029    \\\\value FindWholeWords\\x2029\", ' ' <repeats 11 times>, \"Finds only whole words.\\x2029    \\\\value FindRegularExpression\\x2029\", ' ' <repeats 11 times>, \"Uses a regular epression as a search term.\\x2029    \\\\value FindPreserveCase\\x2029\", ' ' <repeats 11 times>, \"Preserves the case when replacing search terms.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\enum Core::ICore::ContextPriority\\x2029\\x2029    This enum defines the priority of additional contexts.\\x2029\\x2029    \\\\value High\\x2029\", ' ' <repeats 11 times>, \"Additional contexts that have higher priority than contexts from\\x2029\", ' ' <repeats 11 times>, \"Core::IContext instances.\\x2029    \\\\value Low\\x2029\", ' ' <repeats 11 times>, \"Additional contexts that have lower priority than contexts from\\x2029\", ' ' <repeats 11 times>, \"Core::IContext instances.\\x2029\\x2029    \\\\sa Core::ICore::updateAdditionalContexts()\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\enum Core::SaveSettingsReason\\x2029    \\\\internal\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\namespace Core::Internal\\x2029    \\\\internal\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\class Core::ICore\\x2029    \\\\inheaderfile coreplugin/icore.h\\x2029    \\\\inmodule QtCreator\\x2029    \\\\ingroup mainclasses\\x2029\\x2029    \\\\brief The ICore class allows access to the different parts that make up\\x2029    the basic functionality of \\\\QC.\\x2029\\x2029    You should never create a subclass of this interface. The one and only\\x2029    instance is created by the Core plugin. You can access this instance\\x2029    from your plugin through instance().\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::coreAboutToOpen()\\x2029\\x2029    Indicates that all plugins have been loaded and the main window is about to\\x2029    be shown.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::coreOpened()\\x2029    Indicates that all plugins have been loaded and the main window is shown.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::saveSettingsRequested(Core::ICore::SaveSettingsReason reason)\\x2029    Signals that the user has requested that the global settings\\x2029    should be saved to disk for a \\\\a reason.\\x2029\\x2029    At the moment that happens when the application is closed, and on \\\\uicontrol{Save All}.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::coreAboutToClose()\\x2029    Enables plugins to perform some pre-end-of-life actions.\\x2029\\x2029    The application is guaranteed to shut down after this signal is emitted.\\x2029    It is there as an addition to the usual plugin lifecycle functions, namely\\x2029    \\\\c IPlugin::aboutToShutdown(), just for convenience.\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::contextAboutToChange(const QList<Core::IContext *> &context)\\x2029    Indicates that a new \\\\a context will shortly become the current context\\x2029    (meaning that its widget got focus).\\x2029*/\\x2029\\x2029/*!\\x2029    \\\\fn void Core::ICore::contextChanged(const Core::Context &context)\\x2029    Indicates that a new \\\\a context just became the current context. This includes the context\\x2029    from the focus object as well as the additional context.\\x2029*/\\x2029\\x2029#include \\\"dialogs/newdialogwidget.h\\\"\\x2029#include \\\"dialogs/newdialog.h\\\"\\x2029#include \\\"iwizardfactory.h\\\"\\x2029#include \\\"documentmanager.h\\\"\\x2029\\x2029#include <utils/hostosinfo.h>\\x2029\\x2029#include <QCoreApplication>\\x2029#include <QDebug>\\x2029#include <QDir>\\x2029#include <QMessageBox>\\x2029#include <QPushButton>\\x2029#include <QStatusBar>\\x2029\\x2029using namespace Core::Internal;\\x2029using namespace ExtensionSystem;\\x2029using namespace Utils;\\x2029\\x2029namespace Core {\\x2029\\x2029\\143onst char settingsGroup[] = \\\"MainWindow\\\";\\x2029\\143onst char colorKey[] = \\\"Color\\\";\\x2029\\143onst char windowGeometryKey[] = \\\"WindowGeometry\\\";\\x2029\\143onst char windowStateKey[] = \\\"WindowState\\\";\\x2029\\143onst char modeSelectorLayoutKey[] = \\\"ModeSelectorLayout\\\";\\x2029\\143onst char menubarVisibleKey[] = \\\"MenubarVisible\\\";\\x2029\\x2029namespace Internal {\\x2029\\x2029\\143lass MainWindow : public AppMainWindow\\x2029{\\x2029public:\\x2029    MainWindow()\\x2029    {\\x2029        setWindowTitle(QGuiApplication::applicationDisplayName());\\x2029        setDockNestingEnabled(true);\\x2029        setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);\\x2029        setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea);\\x2029    }\\x2029\\x2029private:\\x2029    void closeEvent(QCloseEvent *event) override;\\x2029    void keyPressEvent(QKeyEvent *event) override;\\x2029    void mousePressEvent(QMouseEvent *event) override;\\x2029};\\x2029\\x2029static QColor s_overrideColor;\\x2029\\x2029// The Core Singleton\\x2029static ICore *m_core = nullptr;\\x2029\\x2029static NewDialog *defaultDialogFactory(QWidget *parent)\\x2029{\\x2029    return new NewDialogWidget(parent);\\x2029}\\x2029\\143lass ICorePrivate : public QObject\\x2029{\\x2029public:\\x2029    ICorePrivate() {}\\x2029\\x2029    ~ICorePrivate();\\x2029\\x2029    void init();\\x2029\\x2029    static void openFile();\\x2029    void aboutToShowRecentFiles();\\x2029\\x2029    static void setFocusToEditor();\\x2029    void aboutQtCreator();\\x2029    void aboutPlugins();\\x2029    void changeLog();\\x2029    void contact();\\x2029    void updateFocusWidget(QWidget *old, QWidget *now);\\x2029    NavigationWidget *navigationWidget(Side side) const;\\x2029    void setSidebarVisible(bool visible, Side side);\\x2029    void destroyVersionDialog();\\x2029    void openDroppedFiles(const QList<Utils::DropSupport::FileSpec> &files);\\x2029    void restoreWindowState();\\x2029\\x2029    void openFileFromDevice();\\x2029\\x2029    void updateContextObject(const QList<IContext *> &context);\\x2029    void updateContext();\\x2029\\x2029    void registerDefaultContainers();\\x2029    void registerDefaultActions();\\x2029    void registerModeSelectorStyleActions();\\x2029\\x2029    void readSettings();\\x2029    void saveWindowSettings();\\x2029\\x2029    void updateModeSelectorStyleMenu();\\x2029\\x2029    MainWindow *m_mainwindow = nullptr;\\x2029    QTimer m_trimTimer;\\x2029    QStringList m_aboutInformation;\\x2029    Context m_highPrioAdditionalContexts;\\x2029    Context m_lowPrioAdditionalContexts{Constants::C_GLOBAL};\\x2029    mutable QPrinter *m_printer = nullptr;\\x2029    WindowSupport *m_windowSupport = nullptr;\\x2029    EditorManager *m_editorManager = nullptr;\\x2029    ExternalToolManager *m_externalToolManager = nullptr;\\x2029    MessageManager *m_messageManager = nullptr;\\x2029    ProgressManagerPrivate *m_progressManager = nullptr;\\x2029    JsExpander *m_jsExpander = nullptr;\\x2029    VcsManager *m_vcsManager = nullptr;\\x2029    ModeManager *m_modeManager = nullptr;\\x2029    FancyTabWidget *m_modeStack = nullptr;\\x2029    NavigationWidget *m_leftNavigationWidget = nullptr;\\x2029    NavigationWidget *m_rightNavigationWidget = nullptr;\\x2029    RightPaneWidget *m_rightPaneWidget = nullptr;\\x2029    VersionDialog *m_versionDialog = nullptr;\\x2029\\x2029    QList<IContext *> m_activeContext;\\x2029\\x2029    std::unordered_map<QWidget *, IContext *> m_contextWidgets;\\x2029\\x2029    ShortcutSettings *m_shortcutSettings = nullptr;\\x2029    ToolSettings *m_toolSettings = nullptr;\\x2029    MimeTypeSettings *m_mimeTypeSettings = nullptr;\\x2029    SystemEditor *m_systemEditor = nullptr;\\x2029\\x2029    // actions\\x2029    QAction *m_focusToEditor = nullptr;\\x2029    QAction *m_newAction = nullptr;\\x2029    QAction *m_openAction = nullptr;\\x2029    QAction *m_openWithAction = nullptr;\\x2029    QAction *m_openFromDeviceAction = nullptr;\\x2029    QAction *m_saveAllAction = nullptr;\\x2029    QAction *m_exitAction = nullptr;\\x2029    QAction *m_optionsAction = nullptr;\\x2029    QAction *m_loggerAction = nullptr;\\x2029    Action m_toggleLeftSideBarAction;\\x2029    Action m_toggleRightSideBarAction;\\x2029    QAction *m_toggleMenubarAction = nullptr;\\x2029    QAction *m_cycleModeSelectorStyleAction = nullptr;\\x2029    QAction *m_setModeSelectorStyleIconsAndTextAction = nullptr;\\x2029    QAction *m_setModeSelectorStyleHiddenAction = nullptr;\\x2029    QAction *m_setModeSelectorStyleIconsOnlyAction = nullptr;\\x2029    QAction *m_themeAction = nullptr;\\x2029\\x2029    QToolButton *m_toggleLeftSideBarButton = nullptr;\\x2029    QToolButton *m_toggleRightSideBarButton = nullptr;\\x2029    QList<std::function<b\"..., size = 60592}, static _empty = 0 u'\\000'}\n"
      >~"        delims = u\"\\000\346\211\220\357\220\254\347\274\252\"\n"
      >~"        pos = 94823353956928\n"
      >~"        uc = 0x7f2a3fffe6e0\n"
      >~"        e = 0x7f2b8c70e500 <TextEditor::TextDocumentLayout::staticMetaObject+32>\n"
      >~"#14 0x00007f2b69348c7b in CppEditor::Internal::(anonymous namespace)::FindLocalSymbols::operator() (this=0x7f2a3fffe8f0, ast=0x7f2af42c6250) at /data/dev/creator/src/plugins/cppeditor/cpplocalsymbols.cpp:61\n"
      >~"        editorDoc = 0x563dc8543a40\n"
      >~"        textDoc = 0x563dd7519158\n"
      >~"        content = @0x7f2a3fffe7b0: {d = {d = 0x7f2a3fffe7d0, ptr = 0xffff <error: Cannot access memory at address 0xffff>, size = 139819439089648}, static _empty = 0 u'\\000'}\n"
      >~"        docView = {m_size = 139819439089648, m_data = 0x7f2b69116880 <QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&)+83> u\"\354\202\204\340\265\264\347\266\203\323\264\335\265\306\270\"}\n"
      >~"#15 0x00007f2b69349e0c in CppEditor::Internal::LocalSymbols::LocalSymbols (this=0x7f2a3fffe978, doc=..., ast=0x7f2af42c6250) at /data/dev/creator/src/plugins/cppeditor/cpplocalsymbols.cpp:333\n"
      >~"        findLocalSymbols = {<CPlusPlus::ASTVisitor> = {_vptr.ASTVisitor = 0x7f2b69973458 <vtable for CppEditor::Internal::(anonymous namespace)::FindLocalSymbols+16>, _translationUnit = 0x7f2af487cd40}, localUses = {d = 0x7f2a654c53e0}, _scopeStack = {<QListSpecialMethods<CPlusPlus::Scope*>> = {<QListSpecialMethodsBase<CPlusPlus::Scope*>> = {<No data fields>}, <No data fields>}, d = {d = 0x7f2a655afad0, ptr = 0x7f2a655afae0, size = 0}}, _doc = {value = 0x7f2af4292040, d = 0x7f2af47ba530}}\n"
      >~"        findLocalSymbols = <optimized out>\n"
      >~"#16 0x00007f2b691993b8 in CppEditor::CheckSymbols::visit (this=0x563dd88f8c00, ast=0x7f2af42c6250) at /data/dev/creator/src/plugins/cppeditor/cppchecksymbols.cpp:1117\n"
      >~"        thisFunction = 0x7f2af42c6250\n"
      >~"        processEntireDeclr = false\n"
      >~"        locals = {uses = {d = 0x0}}\n"
      >~"#17 0x00007f2b8036c8e8 in CPlusPlus::FunctionDefinitionAST::accept0 (this=0x7f2af42c6250, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:520\n"
      >~"No locals.\n"
      >~"#18 0x00007f2b80354343 in CPlusPlus::AST::accept (this=0x7f2af42c6250, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.cpp:51\n"
      >~"No locals.\n"
      >~"#19 0x00007f2b8036cd6f in CPlusPlus::AST::accept (visitor=0x563dd88f8c10, ast=<optimized out>) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.h:143\n"
      >~"No locals.\n"
      >~"#20 CPlusPlus::AST::accept<CPlusPlus::DeclarationAST*> (visitor=0x563dd88f8c10, it=0x7f2af42c6a68) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.h:149\n"
      >~"No locals.\n"
      >~"#21 CPlusPlus::LinkageBodyAST::accept0 (this=0x7f2af40934a8, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:593\n"
      >~"No locals.\n"
      >~"#22 0x00007f2b80354343 in CPlusPlus::AST::accept (this=0x7f2af40934a8, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.cpp:51\n"
      >~"No locals.\n"
      >~"#23 0x00007f2b8036d34a in CPlusPlus::AST::accept (visitor=0x563dd88f8c10, ast=<optimized out>) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.h:143\n"
      >~"No locals.\n"
      >~"#24 CPlusPlus::NamespaceAST::accept0 (this=0x7f2af4093478, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:683\n"
      >~"No locals.\n"
      >~"#25 0x00007f2b80354343 in CPlusPlus::AST::accept (this=0x7f2af4093478, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.cpp:51\n"
      
      
      >~"No locals.\n"
      >~"#26 0x00007f2b8036e93f in CPlusPlus::AST::accept (visitor=0x563dd88f8c10, ast=<optimized out>) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.h:143\n"
      >~"No locals.\n"
      >~"#27 CPlusPlus::AST::accept<CPlusPlus::DeclarationAST*> (visitor=0x563dd88f8c10, it=0x7f2af43f42e0) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.h:149\n"
      >~"No locals.\n"
      >~"#28 CPlusPlus::TranslationUnitAST::accept0 (this=0x7f2af40932f0, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:1025\n"
      >~"No locals.\n"
      >~"#29 0x00007f2b80354343 in CPlusPlus::AST::accept (this=0x7f2af40932f0, visitor=0x563dd88f8c10) at /data/dev/creator/src/libs/3rdparty/cplusplus/AST.cpp:51\n"
      >~"No locals.\n"
      >~"#30 0x00007f2b691958a3 in CppEditor::CheckSymbols::run (this=0x563dd88f8c00) at /data/dev/creator/src/plugins/cppeditor/cppchecksymbols.cpp:323\n"
      >~"        collectTypes = {<CPlusPlus::SymbolVisitor> = {_vptr.SymbolVisitor = 0x7f2b699729e8 <vtable for CppEditor::(anonymous namespace)::CollectSymbols+16>}, _doc = {value = 0x7f2af4292040, d = 0x7f2af47ba530}, _snapshot = {m_deps = {files = {<QListSpecialMethods<Utils::FilePath>> = {<QListSpecialMethodsBase<Utils::FilePath>> = {<No data fields>}, <No data fields>}, d = {d = 0x7f2af4dbb8e0, ptr = 0x7f2af4dbb8f0, size = 1044}}, fileIndex = {d = 0x7f2af4166430}, includes = {d = 0x7f2af46c2e20}, includeMap = {<QListSpecialMethods<QBitArray>> = {<QListSpecialMethodsBase<QBitArray>> = {<No data fields>}, <No data fields>}, d = {d = 0x7f2af44addf0, ptr = 0x7f2af44ade00, size = 1044}}}, _documents = {d = 0x7f2af4276420}}, _types = {q_hash = {d = 0x7f2a64be2ac0}}, _fields = {q_hash = {d = 0x7f2a65f741d0}}, _functions = {q_hash = {d = 0x7f2a665c1500}}, _statics = {q_hash = {d = 0x7f2a65ad80a0}}, _mainDocument = true}\n"
      >~"#31 0x00007f2b9aa94d10 in QThreadPoolThread::run (this=0x7f2ad001ddd0) at /data/dev/qt-6/qtbase/src/corelib/thread/qthreadpool.cpp:68\n"
      >~"        del = true\n"
      >~"        page = 0x563dd8915810\n"
      >~"        r = 0x563dd88f8c20\n"
      >~"        locker = {m_mutex = 0x563dc621eeb8, m_isLocked = false}\n"
      >~"        __PRETTY_FUNCTION__ = \"virtual void QThreadPoolThread::run()\"\n"
      >~"#32 0x00007f2b9aa83da3 in operator() (__closure=0x7f2a3fffedd8) at /data/dev/qt-6/qtbase/src/corelib/thread/qthread_unix.cpp:326\n"
      >~"        thr = 0x7f2ad001ddd0\n"
      >~"        data = 0x7f2ad0001680\n"
      >~"        arg = @0x7f2a3fffedc8: 0x7f2ad001ddd0\n"
      >~"#33 0x00007f2b9aa84fff in (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >(struct {...} &&) (t=...) at /data/dev/qt-6/qtbase/src/corelib/thread/qthread_unix.cpp:262\n"
      >~"No locals.\n"
      >~"#34 0x00007f2b9aa83e65 in QThreadPrivate::start (arg=0x7f2ad001ddd0) at /data/dev/qt-6/qtbase/src/corelib/thread/qthread_unix.cpp:285\n"
      >~"        __clframe = {__cancel_routine = 0x7f2b9aa840c6 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x7f2ad001ddd0, __do_it = 1, __cancel_type = 0}\n"
      >~"#35 0x00007f2b99e8f18a in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444\n"
      >~"        ret = <optimized out>\n"
      >~"        pd = <optimized out>\n"
      >~"        out = <optimized out>\n"
      >~"        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139825242500768, -9063967553509047735, -320, 22, 139820605085776, 139819430703104, 8962777299895009865, 8962552870715867721}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}\n"
      >~"        not_first_call = <optimized out>\n"
      >~"#36 0x00007f2b99f1dbd0 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81\n"

      So far I could not reproduce this with a freshly created QTextDocument even with the same contents, but it happens regularly for me while editing. My best guess is that there is some inner/cached state of the QTextDocument involved.

      At the time of the assert here  n = 4, pos = 92202, size = 92205;  the general pattern seen in other cases is  n + pos == size + 1.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            manordheim Mårten Nordheim
            hjk hjk
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes