Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gede for openSUSE:Factory checked in at 2023-06-26 18:16:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gede (Old) and /work/SRC/openSUSE:Factory/.gede.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gede" Mon Jun 26 18:16:30 2023 rev:3 rq:1095353 version:2.18.3 Changes: -------- --- /work/SRC/openSUSE:Factory/gede/gede.changes 2022-02-17 00:31:58.581418349 +0100 +++ /work/SRC/openSUSE:Factory/.gede.new.15902/gede.changes 2023-06-26 18:16:48.838662314 +0200 @@ -1,0 +2,6 @@ +Mon Jun 26 05:18:12 UTC 2023 - Bruno Pitrus <brunopit...@hotmail.com> +- New upstream release 2.18.3 + * Add âfocus after stopâ option +- Do not unnecessarily compile code with PIC relocations + +------------------------------------------------------------------- Old: ---- gede-2.18.2.tar.xz New: ---- gede-2.18.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gede.spec ++++++ --- /var/tmp/diff_new_pack.ZlztNB/_old 2023-06-26 18:16:50.650670364 +0200 +++ /var/tmp/diff_new_pack.ZlztNB/_new 2023-06-26 18:16:50.658670400 +0200 @@ -18,7 +18,7 @@ Name: gede -Version: 2.18.2 +Version: 2.18.3 Release: 0 Summary: Qt-based GUI to GDB License: BSD-2-Clause @@ -41,6 +41,8 @@ %build cd src %qmake5 +#Qmake adds this relocation model which is not needed for the main binary and produces worse code +sed -i 's/ -fPIC / /g' Makefile %make_jobs %install ++++++ gede-2.18.2.tar.xz -> gede-2.18.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/build.py new/gede-2.18.3/build.py --- old/gede-2.18.2/build.py 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/build.py 2023-06-24 00:33:11.000000000 +0200 @@ -14,6 +14,7 @@ #-----------------------------# # Configuration section +g_parallel_builds = 4 g_dest_path = "/usr/local" g_verbose = False g_exeName = "gede" @@ -112,6 +113,7 @@ print(" --use-qt4 Use qt4") print(" --use-qt5 Use qt5") print(" --build-all Build test programs also") + print(" --parallel-builds=NUM Number of parallel jobs to run in parallel") print("") return 1 @@ -236,6 +238,8 @@ g_qtVersionToUse = FORCE_QT4 elif arg == "--use-qt5": g_qtVersionToUse = FORCE_QT5 + elif arg.startswith("--parallel-builds="): + g_parallel_builds = int(arg[18:]) else: exit(dump_usage()) @@ -269,7 +273,7 @@ print("Cleaning up in " + srcdir + " (please wait)") run_make(["clean"]) print("Compiling in " + srcdir + " (please wait)") - if run_make(["-j4"]): + if run_make(["-j%d" % (g_parallel_builds)]): exit(1) os.chdir(olddir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/gd.cpp new/gede-2.18.3/src/gd.cpp --- old/gede-2.18.2/src/gd.cpp 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/gd.cpp 2023-06-24 00:33:11.000000000 +0200 @@ -84,7 +84,8 @@ int rc = 0; Settings cfg; bool showConfigDialog = true; - + QString customProjectConfig; + // Ensure that the config dir exist QDir d; d.mkdir(QDir::homePath() + "/" + GLOBAL_CONFIG_DIR); @@ -105,7 +106,8 @@ && i+1 < argc) { i++; - cfg.setProjectConfig(argv[i]); + customProjectConfig = argv[i]; + cfg.setProjectConfig(customProjectConfig); } } @@ -146,7 +148,8 @@ return dumpUsage(); } } - + cfg.save(); + QApplication app(argc, argv); if(!cfg.m_guiStyleName.isEmpty()) @@ -162,7 +165,10 @@ { // Ask user for program OpenDialog dlg(NULL); - + + if(!customProjectConfig.isEmpty()) + dlg.forceProjectConfig(customProjectConfig); + dlg.loadConfig(cfg); if(dlg.exec() != QDialog::Accepted) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/mainwindow.cpp new/gede-2.18.3/src/mainwindow.cpp --- old/gede-2.18.2/src/mainwindow.cpp 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/mainwindow.cpp 2023-06-24 00:33:11.000000000 +0200 @@ -13,6 +13,7 @@ #include <QDirIterator> #include <QMessageBox> #include <QScrollBar> +#include <QFileInfo> #include <assert.h> @@ -533,6 +534,9 @@ */ void MainWindow::ICore_onStopped(ICore::StopReason reason, QString path, int lineNo) { + if(m_cfg.m_focusOnStop) + activateWindow(); + if(reason == ICore::EXITED_NORMALLY || reason == ICore::EXITED) { QString title = "Program exited"; @@ -710,11 +714,20 @@ if(!ignore) { - FileInfo info; - info.m_name = source->m_name; - info.m_fullName = source->m_fullName; - m_sourceFiles.push_back(info); + // File exist? + if(!QFileInfo(source->m_fullName).exists()) + { + debugMsg("File '%s' does not exist", qPrintable(source->m_fullName)); + } + else + { + FileInfo info; + info.m_name = source->m_name; + info.m_fullName = source->m_fullName; + + m_sourceFiles.push_back(info); + } } } @@ -1115,6 +1128,8 @@ */ CodeViewTab* MainWindow::open(QString filename) { + debugMsg("%s(%s)", __func__, qPrintable(filename)); + if(filename.isEmpty()) return NULL; @@ -1238,7 +1253,9 @@ m_currentFile = filename; m_currentLine = lineno; - if(!filename.isEmpty()) + if(filename.isEmpty()) + warnMsg("No filename information available"); + else { currentCodeViewTab = open(filename); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/opendialog.cpp new/gede-2.18.3/src/opendialog.cpp --- old/gede-2.18.2/src/opendialog.cpp 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/opendialog.cpp 2023-06-24 00:33:11.000000000 +0200 @@ -407,6 +407,13 @@ return m_ui.lineEdit_initialBreakpoint->text(); } +/** +* @brief Forces the use of a specific config file. +*/ +void OpenDialog::forceProjectConfig(QString customProjectConfig) +{ + m_customProjectConfig = customProjectConfig; +} void OpenDialog::onProjDirComboChanged(int idx) { @@ -416,7 +423,10 @@ { // Load config file Settings projCfg; - projCfg.setProjectConfig(projConfPath + "/" + PROJECT_CONFIG_FILENAME); + if(!m_customProjectConfig.isEmpty()) + projCfg.setProjectConfig(m_customProjectConfig); + else + projCfg.setProjectConfig(projConfPath + "/" + PROJECT_CONFIG_FILENAME); projCfg.load(); projCfg.m_projDir = projConfPath; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/opendialog.h new/gede-2.18.3/src/opendialog.h --- old/gede-2.18.2/src/opendialog.h 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/opendialog.h 2023-06-24 00:33:11.000000000 +0200 @@ -59,6 +59,7 @@ int getRunningPid(); void setRunningPid(int pid); + void forceProjectConfig(QString customProjectConfig); void loadConfig(Settings &cfg); void saveConfig(Settings *cfg); @@ -81,6 +82,7 @@ private: Ui_OpenDialog m_ui; + QString m_customProjectConfig; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/settings.cpp new/gede-2.18.3/src/settings.cpp --- old/gede-2.18.2/src/settings.cpp 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/settings.cpp 2023-06-24 00:33:11.000000000 +0200 @@ -39,7 +39,7 @@ m_tabIndentCount = 4; m_viewFuncFilter = true; m_viewClassFilter = true; - + m_focusOnStop = true; // Set cleanlooks as default on Debian DistroType distroType = DISTRO_UNKNOWN; @@ -114,6 +114,7 @@ m_progConBackspaceKey = 0; m_progConDelKey = 2; + m_focusOnStop = true; m_variablePopupDelay = 300; } @@ -253,6 +254,7 @@ } m_progConBackspaceKey = tmpIni.getInt("ProgramConsole/BackspaceKey", m_progConBackspaceKey); m_progConDelKey = tmpIni.getInt("ProgramConsole/DelKey", m_progConDelKey); + m_focusOnStop = tmpIni.getBool("FocusOnStop", m_focusOnStop); } @@ -264,6 +266,10 @@ Ini tmpIni; if(tmpIni.appendLoad(filepath)) infoMsg("Failed to load project ini '%s'. File will be created.", stringToCStr(filepath)); + else + { + debugMsg("Loaded config from %s", qPrintable(filepath)); + } m_download = tmpIni.getBool("Download", true); switch(tmpIni.getInt("Mode", MODE_LOCAL)) @@ -330,7 +336,8 @@ QString filepath = getProjectConfigPath(); - + debugMsg("Saving config to %s", qPrintable(filepath)); + Ini tmpIni; tmpIni.appendLoad(filepath); @@ -469,7 +476,8 @@ } tmpIni.setInt("ProgramConsole/BackspaceKey", m_progConBackspaceKey); tmpIni.setInt("ProgramConsole/DelKey", m_progConDelKey); - + tmpIni.setBool("FocusOnStop",m_focusOnStop); + if(tmpIni.save(globalConfigFilename)) infoMsg("Failed to save '%s'", stringToCStr(globalConfigFilename)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/settings.h new/gede-2.18.3/src/settings.h --- old/gede-2.18.2/src/settings.h 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/settings.h 2023-06-24 00:33:11.000000000 +0200 @@ -164,6 +164,8 @@ int m_variablePopupDelay; //!< Number of milliseconds before the variables value should be displayed in a popup. QStringList m_gotoRuiList; + + bool m_focusOnStop; //!< Raise and focus the window when breakpoint hit QString m_projDir; //!< The dir to change to before debugging (Eg: "/a/path") private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/settingsdialog.cpp new/gede-2.18.3/src/settingsdialog.cpp --- old/gede-2.18.2/src/settingsdialog.cpp 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/settingsdialog.cpp 2023-06-24 00:33:11.000000000 +0200 @@ -160,6 +160,8 @@ m_ui.comboBox_deleteKey->setCurrentIndex(m_cfg->m_progConDelKey); m_ui.checkBox_globalProjConfig->setCheckState(m_cfg->m_globalProjConfig ? Qt::Checked : Qt::Unchecked); + + m_ui.checkBox_focusOnStop->setCheckState(m_cfg->m_focusOnStop ? Qt::Checked : Qt::Unchecked); int comboIdx = 0; @@ -259,7 +261,7 @@ m_cfg->m_progConBackspaceKey = m_ui.comboBox_backspaceKey->currentIndex(); m_cfg->m_progConDelKey = m_ui.comboBox_deleteKey->currentIndex(); - + m_cfg->m_focusOnStop = (m_ui.checkBox_focusOnStop->checkState() == Qt::Unchecked) ? false : true; m_cfg->m_globalProjConfig = (m_ui.checkBox_globalProjConfig->checkState() == Qt::Unchecked) ? false : true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/settingsdialog.ui new/gede-2.18.3/src/settingsdialog.ui --- old/gede-2.18.2/src/settingsdialog.ui 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/settingsdialog.ui 2023-06-24 00:33:11.000000000 +0200 @@ -248,6 +248,16 @@ </layout> </item> <item> + <widget class="QCheckBox" name="checkBox_focusOnStop"> + <property name="toolTip"> + <string><html><head/><body><p>Enabling this makes gede get focus after the debugged program stops.</p></body></html></string> + </property> + <property name="text"> + <string>Focus after stop</string> + </property> + </widget> + </item> + <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/syntaxhighlighterbasic.cpp new/gede-2.18.3/src/syntaxhighlighterbasic.cpp --- old/gede-2.18.2/src/syntaxhighlighterbasic.cpp 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/syntaxhighlighterbasic.cpp 2023-06-24 00:33:11.000000000 +0200 @@ -479,7 +479,7 @@ case STRING: { field->m_text += c; - if(!isEscaped && c == '"') + if(c == '"') { field = NULL; state = IDLE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gede-2.18.2/src/version.h new/gede-2.18.3/src/version.h --- old/gede-2.18.2/src/version.h 2021-12-09 20:55:28.000000000 +0100 +++ new/gede-2.18.3/src/version.h 2023-06-24 00:33:11.000000000 +0200 @@ -11,7 +11,7 @@ #define GD_MAJOR 2 #define GD_MINOR 18 -#define GD_PATCH 2 +#define GD_PATCH 3 #endif // FILE__VERSION_H