Hello community, here is the log from the commit of package kdbg for openSUSE:Leap:15.2 checked in at 2020-02-19 18:35:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/kdbg (Old) and /work/SRC/openSUSE:Leap:15.2/.kdbg.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdbg" Wed Feb 19 18:35:43 2020 rev:17 rq:770609 version:3.0.1 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/kdbg/kdbg.changes 2020-01-15 15:15:05.314230873 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.kdbg.new.26092/kdbg.changes 2020-02-19 18:36:09.137659460 +0100 @@ -1,0 +2,10 @@ +Mon Jan 13 12:26:06 UTC 2020 - Christophe Giboudeaux <[email protected]> + +- Update to 3.0.1 + * Use a color of the selected line with better contrast depending on + the UI theme being used + * Recognize parameter names of variadic function templates. + * Show char16_t and char32_t string values. + * No longer install individual frame images of the pulse animation. + +------------------------------------------------------------------- Old: ---- kdbg-3.0.0.tar.gz New: ---- kdbg-3.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdbg.spec ++++++ --- /var/tmp/diff_new_pack.wIxarQ/_old 2020-02-19 18:36:09.537660298 +0100 +++ /var/tmp/diff_new_pack.wIxarQ/_new 2020-02-19 18:36:09.541660306 +0100 @@ -1,7 +1,7 @@ # # spec file for package kdbg # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,17 +12,17 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: kdbg -Version: 3.0.0 +Version: 3.0.1 Release: 0 Summary: Graphical User Interface for GDB -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Development/Tools/Debuggers -Url: http://www.kdbg.org/ +URL: http://www.kdbg.org/ Source0: %{name}-%{version}.tar.gz BuildRequires: cmake >= 3.3 BuildRequires: extra-cmake-modules @@ -34,8 +34,8 @@ BuildRequires: cmake(KF5IconThemes) BuildRequires: cmake(KF5WindowSystem) BuildRequires: cmake(KF5XmlGui) -BuildRequires: pkgconfig(Qt5Core) -BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: cmake(Qt5Core) +BuildRequires: cmake(Qt5Widgets) Requires: gdb Recommends: %{name}-lang = %{version} Suggests: %{name}-doc = %{version} @@ -71,7 +71,8 @@ %files lang -f %{name}.lang %files -%doc COPYING BUGS ChangeLog-pre-2.2.0 TODO README ReleaseNotes-* +%license COPYING +%doc README ReleaseNotes-* %config %{_kf5_configdir}/kdbgrc %doc %lang(en) %{_kf5_htmldir}/en/kdbg %{_kf5_bindir}/kdbg ++++++ kdbg-3.0.0.tar.gz -> kdbg-3.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/.gitignore new/kdbg-3.0.1/.gitignore --- old/kdbg-3.0.0/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/kdbg-3.0.1/.gitignore 2020-01-01 10:05:04.000000000 +0100 @@ -0,0 +1,4 @@ +**/*.cmake +CMakeCache.txt +CMakeFiles/ +Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/CMakeLists.txt new/kdbg-3.0.1/CMakeLists.txt --- old/kdbg-3.0.0/CMakeLists.txt 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/CMakeLists.txt 2020-01-01 10:05:04.000000000 +0100 @@ -2,7 +2,7 @@ set(QT_MIN_VERSION "5.4.0") set(KF5_MIN_VERSION "5.2.0") -set(KDBG_VERSION 3.0.0) +set(KDBG_VERSION 3.0.1) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdbg/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdbg/version.h) find_package(ECM REQUIRED NO_MODULE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/ReleaseNotes-3.0.1 new/kdbg-3.0.1/ReleaseNotes-3.0.1 --- old/kdbg-3.0.0/ReleaseNotes-3.0.1 1970-01-01 01:00:00.000000000 +0100 +++ new/kdbg-3.0.1/ReleaseNotes-3.0.1 2020-01-01 10:05:04.000000000 +0100 @@ -0,0 +1,18 @@ +KDbg Release Notes for version 3.0.1 +==================================== + +Changes since 3.0.0 +------------------- + +Enhancements + +- Use a color of the selected line with better contrast depending on + the UI theme being used. + +Bug fixes + +- Recognize parameter names of variadic function templates. + +- Show char16_t and char32_t string values. + +- No longer install individual frame images of the pulse animation. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/.gitignore new/kdbg-3.0.1/kdbg/.gitignore --- old/kdbg-3.0.0/kdbg/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/.gitignore 2020-01-01 10:05:04.000000000 +0100 @@ -0,0 +1,8 @@ +*.moc +config.h +kdbg +kdbg_automoc.cpp +moc_*.cpp +ui_*.h +version.h +pics/sc-*.svgz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/brkpt.h new/kdbg-3.0.1/kdbg/brkpt.h --- old/kdbg-3.0.0/kdbg/brkpt.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/brkpt.h 2020-01-01 10:05:04.000000000 +0100 @@ -36,7 +36,7 @@ int hits = 0, uint ignoreCount = 0, QString condition = QString()); void initListAndIcons(); - virtual bool eventFilter(QObject* ob, QEvent* ev); + bool eventFilter(QObject* ob, QEvent* ev) override; friend class BreakpointItem; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/dbgdriver.cpp new/kdbg-3.0.1/kdbg/dbgdriver.cpp --- old/kdbg-3.0.0/kdbg/dbgdriver.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/dbgdriver.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -148,7 +148,7 @@ } break; } // else none found, so add it - // drop through + // fall through case QMnormal: cmdItem = new CmdQueueItem(cmd, cmdString); m_lopriCmdQueue.push_back(cmdItem); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/dbgmainwnd.h new/kdbg-3.0.1/kdbg/dbgmainwnd.h --- old/kdbg-3.0.0/kdbg/dbgmainwnd.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/dbgmainwnd.h 2020-01-01 10:05:04.000000000 +0100 @@ -56,8 +56,8 @@ protected: // session properties - virtual void saveProperties(KConfigGroup& cg); - virtual void readProperties(const KConfigGroup& cg); + void saveProperties(KConfigGroup& cg) override; + void readProperties(const KConfigGroup& cg) override; // settings void saveSettings(KSharedConfigPtr); void restoreSettings(KSharedConfigPtr); @@ -116,7 +116,7 @@ QString m_lastDirectory; /* the dir of the most recently opened file */ protected: - virtual bool queryClose(); + bool queryClose() override; QAction* createAction(const QString& text, const char* icon, int shortcut, const QObject* receiver, const char* slot, const char* name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/exprwnd.h new/kdbg-3.0.1/kdbg/exprwnd.h --- old/kdbg-3.0.0/kdbg/exprwnd.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/exprwnd.h 2020-01-01 10:05:04.000000000 +0100 @@ -38,7 +38,7 @@ VarTree(VarTree* parent, ExprValue* v); VarTree(ExprWnd* parent, ExprValue* v); - virtual ~VarTree(); + ~VarTree(); public: QString computeExpr() const; bool isToplevelExpr() const; @@ -63,7 +63,7 @@ QString displayedValue() const; VarTree* child(int i) const { return static_cast<VarTree*>(QTreeWidgetItem::child(i)); } - virtual QVariant data(int column, int role) const; + QVariant data(int column, int role) const override; private: void updateValueText(); @@ -109,9 +109,9 @@ VarTree* m_item; bool m_finished; protected: - void keyPressEvent(QKeyEvent *e); - void focusOutEvent(QFocusEvent* ev); - void paintEvent(QPaintEvent* e); + void keyPressEvent(QKeyEvent *e) override; + void focusOutEvent(QFocusEvent* ev) override; + void paintEvent(QPaintEvent* e) override; public slots: void slotSelectionChanged(); signals: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/gdbdriver.cpp new/kdbg-3.0.1/kdbg/gdbdriver.cpp --- old/kdbg-3.0.0/kdbg/gdbdriver.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/gdbdriver.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -993,10 +993,15 @@ return (ch>='0' && ch<='9') || ch=='.' || ch=='x'; } -void skipString(const char*& p) +static bool isStringPrefix(char c) { - // wchar_t strings begin with L - if (*p == 'L') + return c == 'L' || c == 'u' || c == 'U'; +} + +static void skipString(const char*& p) +{ + // strings can have a prefix + if (isStringPrefix(*p)) ++p; moreStrings: @@ -1108,8 +1113,10 @@ static void skipName(const char*& p) { - // allow : (for enumeration values) and $ and . (for _vtbl.) - while (isalnum(*p) || *p == '_' || *p == ':' || *p == '$' || *p == '.') + while (isalnum(*p) || *p == '_' + || *p == ':' // enumeration values + || *p == '$' || *p == '.' // _vtlb. + || *p == '#') // param name in variadic templ p++; } @@ -1345,7 +1352,7 @@ checkMultiPart = *p == '\''; // found a string skipString(p); - } else if (*p == 'L' && (p[1] == '"' || p[1] == '\'')) { + } else if (isStringPrefix(*p) && (p[1] == '"' || p[1] == '\'')) { // ditto for wchar_t strings checkMultiPart = p[1] == '\''; skipString(p); @@ -1415,7 +1422,7 @@ if (*p == '"' || *p == '\'') { skipString(p); variable->m_varKind = VarTree::VKsimple; - } else if (*p == 'L' && (p[1] == '"' || p[1] == '\'')) { + } else if (isStringPrefix(*p) && (p[1] == '"' || p[1] == '\'')) { skipString(p); // wchar_t string variable->m_varKind = VarTree::VKsimple; } else if (*p == '<') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/gdbdriver.h new/kdbg-3.0.1/kdbg/gdbdriver.h --- old/kdbg-3.0.0/kdbg/gdbdriver.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/gdbdriver.h 2020-01-01 10:05:04.000000000 +0100 @@ -17,56 +17,56 @@ GdbDriver(); ~GdbDriver(); - virtual QString driverName() const; - virtual QString defaultInvocation() const; - virtual QStringList boolOptionList() const; + QString driverName() const override; + QString defaultInvocation() const override; + QStringList boolOptionList() const override; void setDefaultInvocation(QString cmd) { m_defaultCmd = cmd; } static QString defaultGdb(); - virtual bool startup(QString cmdStr); - virtual void commandFinished(CmdQueueItem* cmd); + bool startup(QString cmdStr) override; + void commandFinished(CmdQueueItem* cmd) override; - virtual void terminate(); - virtual void detachAndTerminate(); - virtual void interruptInferior(); - virtual void setPrintQStringDataCmd(const char* cmd); - virtual ExprValue* parseQCharArray(const char* output, bool wantErrorValue, bool qt3like); - virtual void parseBackTrace(const char* output, std::list<StackFrame>& stack); - virtual bool parseFrameChange(const char* output, int& frameNo, - QString& file, int& lineNo, DbgAddr& address); - virtual bool parseBreakList(const char* output, std::list<Breakpoint>& brks); - virtual std::list<ThreadInfo> parseThreadList(const char* output); - virtual bool parseBreakpoint(const char* output, int& id, - QString& file, int& lineNo, QString& address); - virtual void parseLocals(const char* output, std::list<ExprValue*>& newVars); - virtual ExprValue* parsePrintExpr(const char* output, bool wantErrorValue); - virtual bool parseChangeWD(const char* output, QString& message); - virtual bool parseChangeExecutable(const char* output, QString& message); - virtual bool parseCoreFile(const char* output); - virtual uint parseProgramStopped(const char* output, bool haveCoreFile, - QString& message); - virtual QStringList parseSharedLibs(const char* output); - virtual bool parseFindType(const char* output, QString& type); - virtual std::list<RegisterInfo> parseRegisters(const char* output); - virtual bool parseInfoLine(const char* output, - QString& addrFrom, QString& addrTo); - virtual std::list<DisassembledCode> parseDisassemble(const char* output); - virtual QString parseMemoryDump(const char* output, std::list<MemoryDump>& memdump); - virtual QString parseSetVariable(const char* output); - virtual QString editableValue(VarTree* value); + void terminate() override; + void detachAndTerminate() override; + void interruptInferior() override; + void setPrintQStringDataCmd(const char* cmd) override; + ExprValue* parseQCharArray(const char* output, bool wantErrorValue, bool qt3like) override; + void parseBackTrace(const char* output, std::list<StackFrame>& stack) override; + bool parseFrameChange(const char* output, int& frameNo, + QString& file, int& lineNo, DbgAddr& address) override; + bool parseBreakList(const char* output, std::list<Breakpoint>& brks) override; + std::list<ThreadInfo> parseThreadList(const char* output) override; + bool parseBreakpoint(const char* output, int& id, + QString& file, int& lineNo, QString& address) override; + void parseLocals(const char* output, std::list<ExprValue*>& newVars) override; + ExprValue* parsePrintExpr(const char* output, bool wantErrorValue) override; + bool parseChangeWD(const char* output, QString& message) override; + bool parseChangeExecutable(const char* output, QString& message) override; + bool parseCoreFile(const char* output) override; + uint parseProgramStopped(const char* output, bool haveCoreFile, + QString& message) override; + QStringList parseSharedLibs(const char* output) override; + bool parseFindType(const char* output, QString& type) override; + std::list<RegisterInfo> parseRegisters(const char* output) override; + bool parseInfoLine(const char* output, + QString& addrFrom, QString& addrTo) override; + std::list<DisassembledCode> parseDisassemble(const char* output) override; + QString parseMemoryDump(const char* output, std::list<MemoryDump>& memdump) override; + QString parseSetVariable(const char* output) override; + QString editableValue(VarTree* value) override; protected: QString m_programWD; /* just an intermediate storage */ QString m_redirect; /* redirection to /dev/null */ bool m_littleendian = true; /* if gdb works with little endian or big endian */ QString m_defaultCmd; /* how to invoke gdb */ - virtual QString makeCmdString(DbgCommand cmd); - virtual QString makeCmdString(DbgCommand cmd, QString strArg); - virtual QString makeCmdString(DbgCommand cmd, int intArg); - virtual QString makeCmdString(DbgCommand cmd, QString strArg, int intArg); - virtual QString makeCmdString(DbgCommand cmd, QString strArg1, QString strArg2); - virtual QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2); - virtual QString makeCmdString(DbgCommand cmd, QString strArg, int intArg1, int intArg2); - virtual int findPrompt(const QByteArray& output) const; + QString makeCmdString(DbgCommand cmd) override; + QString makeCmdString(DbgCommand cmd, QString strArg) override; + QString makeCmdString(DbgCommand cmd, int intArg) override; + QString makeCmdString(DbgCommand cmd, QString strArg, int intArg) override; + QString makeCmdString(DbgCommand cmd, QString strArg1, QString strArg2) override; + QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2) override; + QString makeCmdString(DbgCommand cmd, QString strArg, int intArg1, int intArg2) override; + int findPrompt(const QByteArray& output) const override; void parseMarker(CmdQueueItem* cmd); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/main.cpp new/kdbg-3.0.1/kdbg/main.cpp --- old/kdbg-3.0.0/kdbg/main.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/main.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -28,7 +28,7 @@ KDBG_VERSION, i18n("A Debugger"), KAboutLicense::GPL_V2, - i18n("(c) 1998-2017 Johannes Sixt"), + i18n("(c) 1998-2020 Johannes Sixt"), {}, /* any text */ "http://www.kdbg.org/", "[email protected]"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/memwindow.h new/kdbg-3.0.1/kdbg/memwindow.h --- old/kdbg-3.0.0/kdbg/memwindow.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/memwindow.h 2020-01-01 10:05:04.000000000 +0100 @@ -44,7 +44,7 @@ QMenu m_popup; - virtual void contextMenuEvent(QContextMenuEvent* ev); + void contextMenuEvent(QContextMenuEvent* ev) override; void displayNewExpression(const QString& expr); void requestMemoryDump(const QString &expr); QString parseMemoryDumpLineToAscii(const QString& line, bool littleendian); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/pgmargs.cpp new/kdbg-3.0.1/kdbg/pgmargs.cpp --- old/kdbg-3.0.0/kdbg/pgmargs.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/pgmargs.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -197,13 +197,20 @@ { QString caption = i18n("Select a file name to insert as program argument"); - // use the selection as default - QString f = programArgs->selectedText(); - f = QFileDialog::getSaveFileName(this, caption, f); + QFileDialog dlg(this, caption); + dlg.setFileMode(QFileDialog::AnyFile); + dlg.setLabelText(QFileDialog::Accept, + // i18n: replacement text for the "Open" button in a file dialog + // the selected file name will be inserted in a text box + i18nc("@action:button file name into text box", "Insert")); + + if (dlg.exec() != QDialog::Accepted) + return; + + auto names = dlg.selectedFiles(); // don't clear the selection if no file was selected - if (!f.isEmpty()) { - programArgs->insert(f); - } + if (names.count() > 0) + programArgs->insert(names.first()); } void PgmArgs::on_insertDir_clicked() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/pgmargs.h new/kdbg-3.0.1/kdbg/pgmargs.h --- old/kdbg-3.0.0/kdbg/pgmargs.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/pgmargs.h 2020-01-01 10:05:04.000000000 +0100 @@ -22,7 +22,7 @@ PgmArgs(QWidget* parent, const QString& pgm, const std::map<QString,QString>& envVars, const QStringList& allOptions); - virtual ~PgmArgs(); + ~PgmArgs(); void setArgs(const QString& text) { programArgs->setText(text); } QString args() const { return programArgs->text(); } @@ -37,7 +37,7 @@ void parseEnvInput(QString& name, QString& value); void modifyVar(bool resurrect); - virtual void accept(); + void accept() override; protected slots: void on_buttonModify_clicked(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/pics/CMakeLists.txt new/kdbg-3.0.1/kdbg/pics/CMakeLists.txt --- old/kdbg-3.0.0/kdbg/pics/CMakeLists.txt 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/pics/CMakeLists.txt 2020-01-01 10:05:04.000000000 +0100 @@ -31,35 +31,6 @@ install(FILES ${PICTOGRAMS} DESTINATION "${DATA_INSTALL_DIR}/kdbg/pics") ecm_install_icons(ICONS - 22-actions-pulse000000.png - 22-actions-pulse000001.png - 22-actions-pulse000002.png - 22-actions-pulse000003.png - 22-actions-pulse000004.png - 22-actions-pulse000005.png - 22-actions-pulse000006.png - 22-actions-pulse000007.png - 22-actions-pulse000008.png - 22-actions-pulse000009.png - 22-actions-pulse000010.png - 22-actions-pulse000011.png - 22-actions-pulse000012.png - 22-actions-pulse000013.png - 22-actions-pulse000014.png - 22-actions-pulse000015.png - 22-actions-pulse000016.png - 22-actions-pulse000017.png - 22-actions-pulse000018.png - 22-actions-pulse000019.png - 22-actions-pulse000020.png - 22-actions-pulse000021.png - 22-actions-pulse000022.png - 22-actions-pulse000023.png - 22-actions-pulse000024.png - 22-actions-pulse000025.png - 22-actions-pulse000026.png - 22-actions-pulse000027.png - 22-actions-pulse000028.png 22-actions-pulse.mng DESTINATION "${DATA_INSTALL_DIR}/kdbg/icons" THEME hicolor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/regwnd.cpp new/kdbg-3.0.1/kdbg/regwnd.cpp --- old/kdbg-3.0.0/kdbg/regwnd.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/regwnd.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -119,7 +119,7 @@ return matcher.exactMatch(str); } - virtual void setMode(RegisterDisplay mode) + void setMode(RegisterDisplay mode) override { gmode=mode; for(int i = 0; i < childCount(); i++) @@ -128,7 +128,7 @@ } } - virtual RegisterDisplay mode() + RegisterDisplay mode() override { return gmode; } @@ -146,8 +146,8 @@ ~RegisterViewItem(); void setValue(const RegisterInfo& regInfo); - virtual void setMode(RegisterDisplay mode); - virtual RegisterDisplay mode() { return m_mode; } + void setMode(RegisterDisplay mode) override; + RegisterDisplay mode() override { return m_mode; } RegisterInfo m_reg; RegisterDisplay m_mode; /* display mode */ bool m_changes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/regwnd.h new/kdbg-3.0.1/kdbg/regwnd.h --- old/kdbg-3.0.0/kdbg/regwnd.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/regwnd.h 2020-01-01 10:05:04.000000000 +0100 @@ -26,8 +26,8 @@ ~RegisterView(); protected: - virtual void contextMenuEvent(QContextMenuEvent*); - virtual void changeEvent(QEvent* ev); + void contextMenuEvent(QContextMenuEvent*) override; + void changeEvent(QEvent* ev) override; protected slots: void slotModeChange(QAction*); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/sourcewnd.cpp new/kdbg-3.0.1/kdbg/sourcewnd.cpp --- old/kdbg-3.0.0/kdbg/sourcewnd.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/sourcewnd.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -444,7 +444,7 @@ // cut the document to reduce size of string to scan // because of this only identifiefs of length <= IDENTIFIER_MAX_SIZE are supported if (document.length() > IDENTIFIER_MAX_SIZE) { - document.right(IDENTIFIER_MAX_SIZE); + document = document.right(IDENTIFIER_MAX_SIZE); } const int index = regex.indexIn(document); @@ -457,7 +457,7 @@ { const int length = regex.matchedLength(); - word = plainText.mid(index, length); + word = document.mid(index, length); TRACE("Matched, returning " + word); } @@ -777,12 +777,22 @@ setTabStopWidth(w); } +QColor SourceWindow::lineSelectionColor() const +{ + QColor c = palette().color(QPalette::Text); + + if (c.lightness() < 100) // Breeze light 24, Breeze dark 240 + return "#E7E7E7"; + else + return "#191919"; +} + void SourceWindow::cursorChanged() { QList<QTextEdit::ExtraSelection> extraSelections; QTextEdit::ExtraSelection selection; - selection.format.setBackground(QColor("#E7E7E7")); + selection.format.setBackground(lineSelectionColor()); selection.format.setProperty(QTextFormat::FullWidthSelection, true); selection.cursor = textCursor(); selection.cursor.clearSelection(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/sourcewnd.h new/kdbg-3.0.1/kdbg/sourcewnd.h --- old/kdbg-3.0.0/kdbg/sourcewnd.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/sourcewnd.h 2020-01-01 10:05:04.000000000 +0100 @@ -60,16 +60,17 @@ protected: void drawLineInfoArea(QPainter* p, QPaintEvent* event); void infoMousePress(QMouseEvent* ev); - virtual void resizeEvent(QResizeEvent* e); - virtual void contextMenuEvent(QContextMenuEvent* e); - virtual void keyPressEvent(QKeyEvent* ev); - virtual void changeEvent(QEvent* ev); + void resizeEvent(QResizeEvent* e) override; + void contextMenuEvent(QContextMenuEvent* e) override; + void keyPressEvent(QKeyEvent* ev) override; + void changeEvent(QEvent* ev) override; void expandRow(int row); void collapseRow(int row); void scrollToRow(int row); /** translates (0-based) line number plus a code address into a row number */ int lineToRow(int row, const DbgAddr& address); int lineInfoAreaWidth() const; + QColor lineSelectionColor() const; void actionExpandRow(int row); void actionCollapseRow(int row); @@ -124,9 +125,9 @@ { public: LineInfoArea(QWidget* parent) : QWidget(parent) { } - virtual void paintEvent(QPaintEvent* e); - virtual void mousePressEvent(QMouseEvent* ev); - virtual void contextMenuEvent(QContextMenuEvent* e); + void paintEvent(QPaintEvent* e) override; + void mousePressEvent(QMouseEvent* ev) override; + void contextMenuEvent(QContextMenuEvent* e) override; }; class HighlightCpp : public QSyntaxHighlighter @@ -135,7 +136,7 @@ public: HighlightCpp(SourceWindow* srcWnd); - virtual void highlightBlock(const QString& text); + void highlightBlock(const QString& text) override; int highlight(const QString& text, int state); static bool isCppKeyword(const QString& word); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/.gitignore new/kdbg-3.0.1/kdbg/testprogs/.gitignore --- old/kdbg-3.0.0/kdbg/testprogs/.gitignore 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/.gitignore 2020-01-01 10:05:04.000000000 +0100 @@ -1,7 +1,7 @@ anonstruct +funcnames helloworld helloworld.o -lambda locals longdouble maths diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/Makefile new/kdbg-3.0.1/kdbg/testprogs/Makefile --- old/kdbg-3.0.0/kdbg/testprogs/Makefile 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/Makefile 2020-01-01 10:05:04.000000000 +0100 @@ -1,13 +1,12 @@ CXXFLAGS=-O0 -g -QT3 = /usr/lib64/qt3 -QT3INC = -I$(QT3)/include -QT3LIB = $(QT3)/lib64/libqt-mt.so +QT5INC = -I/usr/include/qt5 -fPIC +QT5LIB = /usr/lib64/libQt5Core.so PROGS = \ anonstruct \ + funcnames \ helloworld \ - lambda \ locals \ longdouble \ maths \ @@ -26,13 +25,13 @@ anonstruct: anonstruct.cpp g++ -o $@ $(CXXFLAGS) $^ +funcnames: funcnames.cpp + g++ --std=c++11 -o $@ $(CXXFLAGS) $^ + helloworld: helloworld.asm nasm -f elf64 -F dwarf -g $^ -o $(^:.asm=.o) ld -g -o $@ $(^:.asm=.o) -lambda: lambda.cpp - g++ --std=c++0x -o $@ $(CXXFLAGS) $^ - locals: locals.cpp g++ -o $@ $(CXXFLAGS) $^ @@ -49,10 +48,10 @@ g++ -o $@ $(CXXFLAGS) $^ qt: qt.cpp - g++ -o $@ $(CXXFLAGS) $^ $(QT3INC) $(QT3LIB) + g++ -o $@ $(CXXFLAGS) $^ $(QT5INC) $(QT5LIB) repeats: repeats.cpp - g++ -o $@ $(CXXFLAGS) $^ $(QT3INC) $(QT3LIB) + g++ -o $@ $(CXXFLAGS) $^ $(QT5INC) $(QT5LIB) std: std.cpp g++ -o $@ $(CXXFLAGS) $^ @@ -61,7 +60,7 @@ g++ -std=c++0x -o $@ $(CXXFLAGS) $^ testfile: testfile.cpp - g++ -o $@ $(CXXFLAGS) $^ $(QT3INC) $(QT3LIB) + g++ -o $@ $(CXXFLAGS) $^ $(QT5INC) $(QT5LIB) tooltips: tooltips.cpp g++ -o $@ $(CXXFLAGS) $^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/funcnames.cpp new/kdbg-3.0.1/kdbg/testprogs/funcnames.cpp --- old/kdbg-3.0.0/kdbg/testprogs/funcnames.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/funcnames.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -0,0 +1,45 @@ +// test lambdas and other function names + +#include <algorithm> +#include <initializer_list> +#include <iostream> +#include <vector> + +template<typename T> +struct X +{ + X() = default; + X(std::initializer_list<T> l) : m_v(l) + { + for (auto i = l.begin(); i != l.end(); ++i) + { + std::cout << *i << std::endl; + } + } + void outmult(int factor) + { + auto f = [&factor](const T& a) { + std::cout << (a*factor) << std::endl; + }; + for_each(m_v.begin(), m_v.end(), f); + } + std::vector<T> m_v; + + int refqual() const & + { + return 3; + } + int refqual() && + { + return 4; + } +}; + +int main() +{ + X<unsigned> x{ 1, 1, 2, 3, 5, 8 }; + x.outmult(3); + + std::cout << x.refqual() << std::endl; + std::cout << X<int>().refqual() << std::endl; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/lambda.cpp new/kdbg-3.0.1/kdbg/testprogs/lambda.cpp --- old/kdbg-3.0.0/kdbg/testprogs/lambda.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/lambda.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -// test C++11 lambdas - -#include <algorithm> -#include <initializer_list> -#include <iostream> -#include <vector> - -template<typename T> -struct X -{ - X() = default; - X(std::initializer_list<T> l) : m_v(l) - { - for (auto i = l.begin(); i != l.end(); ++i) - { - std::cout << *i << std::endl; - } - } - void outmult(int factor) - { - auto f = [&factor](const T& a) { - std::cout << (a*factor) << std::endl; - }; - for_each(m_v.begin(), m_v.end(), f); - } - std::vector<T> m_v; -}; - -int main() -{ - X<unsigned> x{ 1, 1, 2, 3, 5, 8 }; - x.outmult(3); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/qt.cpp new/kdbg-3.0.1/kdbg/testprogs/qt.cpp --- old/kdbg-3.0.0/kdbg/testprogs/qt.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/qt.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -1,41 +1,15 @@ -#include <qmap.h> -#include <qvaluelist.h> -#include <qvaluevector.h> -#include <qstring.h> -#include <qrect.h> +#include <QtCore/QString> +#include <QtCore/QRect> #include <iostream> -template<typename T> -void test_sharing(const T& input) -{ - // a copy should increase the share counter - T copy = input; - - // a const interator should not detach the copy - typename T::const_iterator cit = copy.constBegin(); - std::cout << *cit << std::endl; - - // a non-const iterator should detach the copy - typename T::iterator it = copy.begin(); - std::cout << *it << std::endl; -} - int main() { - QMap<QString,int> str2int; - str2int["foo"] = 42; - test_sharing(str2int); - - QValueList<int> ints; - ints.push_back(42); - test_sharing(ints); - - QValueVector<double> vals(6, 47.11); - vals.push_back(42); - test_sharing(vals); + QString str; + str = QLatin1String("A test string"); QRect r(10,20, 130, 240); QPoint p = r.topLeft(); QPoint q = r.bottomRight(); + str = QLatin1String("New text"); std::cout << r.width() << r.height() << p.x() << q.y() << std::endl; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/repeats.cpp new/kdbg-3.0.1/kdbg/testprogs/repeats.cpp --- old/kdbg-3.0.0/kdbg/testprogs/repeats.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/repeats.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -1,7 +1,7 @@ // test <repeats 30 times> in arrays #include <iostream> -#include <qstring.h> +#include <QtCore/QString> struct Big { struct bog { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/testfile.cpp new/kdbg-3.0.1/kdbg/testprogs/testfile.cpp --- old/kdbg-3.0.0/kdbg/testprogs/testfile.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/testfile.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -1,8 +1,8 @@ #include <iostream> -#include <qstring.h> -#include <qfile.h> -#include <qfileinfo.h> -#include <qdir.h> +#include <QtCore/QString> +#include <QtCore/QFile> +#include <QtCore/QFileInfo> +#include <QtCore/QDir> #include <math.h> namespace { @@ -167,17 +167,17 @@ const QString& strref = s; - templated_strtest(strtest, s); + templated_strtest(strtest, s.toLatin1()); s = "asbcxxxxxxxxxxxxxxxxxxxxxxxxxxx"; - strtest(s); + strtest(s.toLatin1()); s += "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"; - strtest(s); + strtest(s.toLatin1()); s += "rst"; - strtest(s); + strtest(s.toLatin1()); s = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; - strtest(s); + strtest(s.toLatin1()); s += "rst"; - strtest(s); + strtest(s.toLatin1()); s = ""; Cl c1(13); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/testprogs/widechar.cpp new/kdbg-3.0.1/kdbg/testprogs/widechar.cpp --- old/kdbg-3.0.0/kdbg/testprogs/widechar.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/testprogs/widechar.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -15,6 +15,10 @@ const wchar_t* str = L"abc"; const wchar_t* str2 = L"def"; const char* shortStr = "12345"; + std::string stdstr = "std::string"; + std::wstring stdwstr = L"std::wstring \x20ac"; + std::u16string stdu16str = u"std::u16string: \x20ac"; + std::u32string stdu32str = U"std::u32string: \x0001f604"; wchar_t wstr[64] = { 0 }, // L'\0' <repeats...> *wstrPtr = wstr; @@ -31,4 +35,11 @@ swprintf(wstr, 63, L"%d. wide string: %S\n", i+1, str); wprintf(L"%S\n", wstr); } + + stdstr += std::string(30, stdstr.back()); + stdwstr += std::wstring(30, stdwstr.back()); + stdu16str += std::u16string(30, stdu16str.back()); + stdu32str += std::u32string(30, stdu32str.back()); + + wprintf(L"done!\n"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/ttywnd.h new/kdbg-3.0.1/kdbg/ttywnd.h --- old/kdbg-3.0.0/kdbg/ttywnd.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/ttywnd.h 2020-01-01 10:05:04.000000000 +0100 @@ -58,7 +58,7 @@ protected: STTY* m_tty; QTextCursor m_pos; //!< tracks horizontal cursor position - virtual void contextMenuEvent(QContextMenuEvent*); + void contextMenuEvent(QContextMenuEvent*) override; protected slots: void slotAppend(char* buffer, int count); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/typetables/qt5core.kdbgtt new/kdbg-3.0.1/kdbg/typetables/qt5core.kdbgtt --- old/kdbg-3.0.0/kdbg/typetables/qt5core.kdbgtt 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/typetables/qt5core.kdbgtt 2020-01-01 10:05:04.000000000 +0100 @@ -1,5 +1,6 @@ [Type Table] Types1=QString +Types2=QPoint,QRect LibDisplayName=libQt5Core 5.x ShlibRE=libQt5Core\\.so\\.5$ EnableBuiltin=QString::Data,QCharIsShort @@ -7,3 +8,15 @@ [QString] Display={ % } Expr1=/QString::Data (%s).d + +[QPoint] +Display={ %,% } +Expr1=(%s).xp +Expr2=(%s).yp + +[QRect] +Display={ tl=(%,%) br=(%,%) } +Expr1=(%s).x1 +Expr2=(%s).y1 +Expr3=(%s).x2 +Expr4=(%s).y2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/watchwindow.h new/kdbg-3.0.1/kdbg/watchwindow.h --- old/kdbg-3.0.0/kdbg/watchwindow.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/watchwindow.h 2020-01-01 10:05:04.000000000 +0100 @@ -32,9 +32,9 @@ QVBoxLayout m_watchV; QHBoxLayout m_watchH; - virtual bool eventFilter(QObject* ob, QEvent* ev); - virtual void dragEnterEvent(QDragEnterEvent* event); - virtual void dropEvent(QDropEvent* event); + bool eventFilter(QObject* ob, QEvent* ev) override; + void dragEnterEvent(QDragEnterEvent* event) override; + void dropEvent(QDropEvent* event) override; signals: void addWatch(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/winstack.h new/kdbg-3.0.1/kdbg/winstack.h --- old/kdbg-3.0.0/kdbg/winstack.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/winstack.h 2020-01-01 10:05:04.000000000 +0100 @@ -32,7 +32,7 @@ bool caseSensitive() const { return m_caseCheck.isChecked(); } QString searchText() const { return m_searchText.text(); } - virtual void done(int result); + void done(int result) override; QLineEdit m_searchText; QCheckBox m_caseCheck; @@ -44,7 +44,7 @@ void closed(); protected: - virtual void closeEvent(QCloseEvent* ev); + void closeEvent(QCloseEvent* ev) override; QVBoxLayout m_layout; QHBoxLayout m_buttons; }; @@ -55,7 +55,7 @@ Q_OBJECT public: WinStack(QWidget* parent); - virtual ~WinStack(); + ~WinStack(); /** * Slot activate also looks in this directory when the specified file is @@ -70,7 +70,7 @@ SourceWindow* activeWindow() const; SourceWindow* windowAt(int i) const; - virtual QSize sizeHint() const; + QSize sizeHint() const override; signals: void toggleBreak(const QString&, int, const DbgAddr&, bool); @@ -112,8 +112,8 @@ protected: bool activatePath(QString pathname, int lineNo, const DbgAddr& address); virtual bool activateWindow(SourceWindow* fw, int lineNo, const DbgAddr& address); /* -1 doesnt change line */ - virtual void contextMenuEvent(QContextMenuEvent* e); - virtual bool event(QEvent* event); + void contextMenuEvent(QContextMenuEvent* e) override; + bool event(QEvent* event) override; void setPC(bool set, const QString& fileName, int lineNo, const DbgAddr& address, int frameNo); SourceWindow* findByFileName(const QString& fileName) const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/xsldbgdriver.cpp new/kdbg-3.0.1/kdbg/xsldbgdriver.cpp --- old/kdbg-3.0.0/kdbg/xsldbgdriver.cpp 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/xsldbgdriver.cpp 2020-01-01 10:05:04.000000000 +0100 @@ -446,11 +446,14 @@ switch (intArg & MDTsizemask) { case MDTbyte: case MDThalfword: - count *= 2; + count *= 8; + break; case MDTword: - count *= 2; + count *= 4; + break; case MDTgiantword: - count *= 2; + count *= 2; + break; } break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/kdbg/xsldbgdriver.h new/kdbg-3.0.1/kdbg/xsldbgdriver.h --- old/kdbg-3.0.0/kdbg/xsldbgdriver.h 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/kdbg/xsldbgdriver.h 2020-01-01 10:05:04.000000000 +0100 @@ -15,52 +15,52 @@ XsldbgDriver(); ~XsldbgDriver(); - virtual QString driverName() const; - virtual QString defaultInvocation() const; - virtual QStringList boolOptionList() const; + QString driverName() const override; + QString defaultInvocation() const override; + QStringList boolOptionList() const override; static QString defaultXsldbg(); - virtual bool startup(QString cmdStr); - virtual void commandFinished(CmdQueueItem * cmd); + bool startup(QString cmdStr) override; + void commandFinished(CmdQueueItem * cmd) override; - virtual void terminate(); - virtual void detachAndTerminate(); - virtual void interruptInferior(); + void terminate() override; + void detachAndTerminate() override; + void interruptInferior() override; - virtual void setPrintQStringDataCmd(const char* cmd); + void setPrintQStringDataCmd(const char* cmd) override; /** * Parses the output as an array of QChars. */ - virtual ExprValue *parseQCharArray(const char *output, - bool wantErrorValue, bool qt3like); + ExprValue *parseQCharArray(const char *output, + bool wantErrorValue, bool qt3like) override; - virtual void parseBackTrace(const char *output, - std::list < StackFrame > &stack); - virtual bool parseFrameChange(const char *output, int &frameNo, + void parseBackTrace(const char *output, + std::list < StackFrame > &stack) override; + bool parseFrameChange(const char *output, int &frameNo, QString & file, int &lineNo, - DbgAddr & address); - virtual bool parseBreakList(const char *output, - std::list < Breakpoint > &brks); - virtual std::list<ThreadInfo> parseThreadList(const char *output); - virtual bool parseBreakpoint(const char *output, int &id, - QString & file, int &lineNo, QString& address); - virtual void parseLocals(const char *output, - std::list < ExprValue* > &newVars); - virtual ExprValue * parsePrintExpr(const char *output, bool wantErrorValue); - virtual bool parseChangeWD(const char *output, QString & message); - virtual bool parseChangeExecutable(const char *output, - QString & message); - virtual bool parseCoreFile(const char *output); - virtual uint parseProgramStopped(const char *output, bool haveCoreFile, - QString & message); - virtual QStringList parseSharedLibs(const char *output); - virtual bool parseFindType(const char *output, QString & type); - virtual std::list<RegisterInfo> parseRegisters(const char *output); - virtual bool parseInfoLine(const char *output, QString & addrFrom, - QString & addrTo); - virtual std::list<DisassembledCode> parseDisassemble(const char *output); - virtual QString parseMemoryDump(const char *output, - std::list < MemoryDump > &memdump); - virtual QString parseSetVariable(const char* output); + DbgAddr & address) override; + bool parseBreakList(const char *output, + std::list < Breakpoint > &brks) override; + std::list<ThreadInfo> parseThreadList(const char *output) override; + bool parseBreakpoint(const char *output, int &id, + QString & file, int &lineNo, QString& address) override; + void parseLocals(const char *output, + std::list < ExprValue* > &newVars) override; + ExprValue * parsePrintExpr(const char *output, bool wantErrorValue) override; + bool parseChangeWD(const char *output, QString & message) override; + bool parseChangeExecutable(const char *output, + QString & message) override; + bool parseCoreFile(const char *output) override; + uint parseProgramStopped(const char *output, bool haveCoreFile, + QString & message) override; + QStringList parseSharedLibs(const char *output) override; + bool parseFindType(const char *output, QString & type) override; + std::list<RegisterInfo> parseRegisters(const char *output) override; + bool parseInfoLine(const char *output, QString & addrFrom, + QString & addrTo) override; + std::list<DisassembledCode> parseDisassemble(const char *output) override; + QString parseMemoryDump(const char *output, + std::list < MemoryDump > &memdump) override; + QString parseSetVariable(const char* output) override; protected: QString m_programWD; /* just an intermediate storage */ @@ -68,14 +68,14 @@ bool m_haveDataFile; /* have we set the XML data file to use? */ QString m_redirect; /* redirection to /dev/null */ - virtual QString makeCmdString(DbgCommand cmd); - virtual QString makeCmdString(DbgCommand cmd, QString strArg); - virtual QString makeCmdString(DbgCommand cmd, int intArg); - virtual QString makeCmdString(DbgCommand cmd, QString strArg, int intArg); - virtual QString makeCmdString(DbgCommand cmd, QString strArg1, QString strArg2); - virtual QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2); - virtual QString makeCmdString(DbgCommand cmd, QString strArg, int intArg1, int intArg2); - virtual int findPrompt(const QByteArray& output) const; + QString makeCmdString(DbgCommand cmd) override; + QString makeCmdString(DbgCommand cmd, QString strArg) override; + QString makeCmdString(DbgCommand cmd, int intArg) override; + QString makeCmdString(DbgCommand cmd, QString strArg, int intArg) override; + QString makeCmdString(DbgCommand cmd, QString strArg1, QString strArg2) override; + QString makeCmdString(DbgCommand cmd, int intArg1, int intArg2) override; + QString makeCmdString(DbgCommand cmd, QString strArg, int intArg1, int intArg2) override; + int findPrompt(const QByteArray& output) const override; void parseMarker(); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/.gitignore new/kdbg-3.0.1/po/.gitignore --- old/kdbg-3.0.0/po/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/kdbg-3.0.1/po/.gitignore 2020-01-01 10:05:04.000000000 +0100 @@ -0,0 +1 @@ +*.gmo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/cs.po new/kdbg-3.0.1/po/cs.po --- old/kdbg-3.0.0/po/cs.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/cs.po 2020-01-01 10:05:04.000000000 +0100 @@ -303,7 +303,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/da.po new/kdbg-3.0.1/po/da.po --- old/kdbg-3.0.0/po/da.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/da.po 2020-01-01 10:05:04.000000000 +0100 @@ -300,7 +300,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/de.po new/kdbg-3.0.1/po/de.po --- old/kdbg-3.0.0/po/de.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/de.po 2020-01-01 10:05:04.000000000 +0100 @@ -293,8 +293,8 @@ msgstr "Ein Debugger" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" -msgstr "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" +msgstr "(c) 1998-2020 Johannes Sixt" #: main.cpp:35 msgid "Johannes Sixt" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/es.po new/kdbg-3.0.1/po/es.po --- old/kdbg-3.0.0/po/es.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/es.po 2020-01-01 10:05:04.000000000 +0100 @@ -306,7 +306,7 @@ msgstr "Un depurador" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/fr.po new/kdbg-3.0.1/po/fr.po --- old/kdbg-3.0.0/po/fr.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/fr.po 2020-01-01 10:05:04.000000000 +0100 @@ -308,7 +308,7 @@ msgstr "Un débogueur" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/hr.po new/kdbg-3.0.1/po/hr.po --- old/kdbg-3.0.0/po/hr.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/hr.po 2020-01-01 10:05:04.000000000 +0100 @@ -305,8 +305,8 @@ msgstr "Debuger" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" -msgstr "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" +msgstr "(c) 1998-2020 Johannes Sixt" #: main.cpp:35 msgid "Johannes Sixt" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/hu.po new/kdbg-3.0.1/po/hu.po --- old/kdbg-3.0.0/po/hu.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/hu.po 2020-01-01 10:05:04.000000000 +0100 @@ -305,7 +305,7 @@ msgstr "Nyomkövető" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/it.po new/kdbg-3.0.1/po/it.po --- old/kdbg-3.0.0/po/it.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/it.po 2020-01-01 10:05:04.000000000 +0100 @@ -433,7 +433,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/ja.po new/kdbg-3.0.1/po/ja.po --- old/kdbg-3.0.0/po/ja.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/ja.po 2020-01-01 10:05:04.000000000 +0100 @@ -303,7 +303,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/nb.po new/kdbg-3.0.1/po/nb.po --- old/kdbg-3.0.0/po/nb.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/nb.po 2020-01-01 10:05:04.000000000 +0100 @@ -300,7 +300,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/nn.po new/kdbg-3.0.1/po/nn.po --- old/kdbg-3.0.0/po/nn.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/nn.po 2020-01-01 10:05:04.000000000 +0100 @@ -305,7 +305,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/pl.po new/kdbg-3.0.1/po/pl.po --- old/kdbg-3.0.0/po/pl.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/pl.po 2020-01-01 10:05:04.000000000 +0100 @@ -302,7 +302,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/pt.po new/kdbg-3.0.1/po/pt.po --- old/kdbg-3.0.0/po/pt.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/pt.po 2020-01-01 10:05:04.000000000 +0100 @@ -291,7 +291,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/ro.po new/kdbg-3.0.1/po/ro.po --- old/kdbg-3.0.0/po/ro.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/ro.po 2020-01-01 10:05:04.000000000 +0100 @@ -291,7 +291,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/ru.po new/kdbg-3.0.1/po/ru.po --- old/kdbg-3.0.0/po/ru.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/ru.po 2020-01-01 10:05:04.000000000 +0100 @@ -302,7 +302,7 @@ msgstr "Отладчик" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/sk.po new/kdbg-3.0.1/po/sk.po --- old/kdbg-3.0.0/po/sk.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/sk.po 2020-01-01 10:05:04.000000000 +0100 @@ -296,7 +296,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/sr.po new/kdbg-3.0.1/po/sr.po --- old/kdbg-3.0.0/po/sr.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/sr.po 2020-01-01 10:05:04.000000000 +0100 @@ -303,7 +303,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/sv.po new/kdbg-3.0.1/po/sv.po --- old/kdbg-3.0.0/po/sv.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/sv.po 2020-01-01 10:05:04.000000000 +0100 @@ -302,7 +302,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/tr.po new/kdbg-3.0.1/po/tr.po --- old/kdbg-3.0.0/po/tr.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/tr.po 2020-01-01 10:05:04.000000000 +0100 @@ -304,7 +304,7 @@ msgstr "" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-3.0.0/po/zh_CN.po new/kdbg-3.0.1/po/zh_CN.po --- old/kdbg-3.0.0/po/zh_CN.po 2017-12-12 21:53:50.000000000 +0100 +++ new/kdbg-3.0.1/po/zh_CN.po 2020-01-01 10:05:04.000000000 +0100 @@ -304,7 +304,7 @@ msgstr "一个基于GDB的图形界面调试器" #: main.cpp:31 -msgid "(c) 1998-2017 Johannes Sixt" +msgid "(c) 1998-2020 Johannes Sixt" msgstr "" #: main.cpp:35
