[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [lokalize] src: Fix wrong usage of iterator causing segfault
From:       Simon Depiets <null () kde ! org>
Date:       2018-09-12 9:37:59
Message-ID: E1g01ax-0000lV-KI () code ! kde ! org
[Download RAW message or body]

Git commit e2fdf577ef6d96a4e9f20b7de1a92c1b94e9af5e by Simon Depiets.
Committed on 12/09/2018 at 09:37.
Pushed by sdepiets into branch 'master'.

Fix wrong usage of iterator causing segfault

M  +5    -4    src/lokalizemainwindow.cpp

https://commits.kde.org/lokalize/e2fdf577ef6d96a4e9f20b7de1a92c1b94e9af5e

diff --git a/src/lokalizemainwindow.cpp b/src/lokalizemainwindow.cpp
index 525abf7..cc5ec50 100644
--- a/src/lokalizemainwindow.cpp
+++ b/src/lokalizemainwindow.cpp
@@ -139,10 +139,11 @@ LokalizeMainWindow::~LokalizeMainWindow()
     m_multiEditorAdaptor->deleteLater();
 
     //Disconnect the signals pointing to this MainWindow object
-    QList<QMdiSubWindow*>::iterator sw;
-    for (sw = m_fileToEditor.values().begin(); sw != m_fileToEditor.values().end(); \
                ++sw) {
-        disconnect(*sw, &QMdiSubWindow::destroyed, this, \
                &LokalizeMainWindow::editorClosed);
-        EditorTab* w = static_cast<EditorTab*>((*sw)->widget());
+    QMdiSubWindow* sw;
+    for (int i = 0; i < m_fileToEditor.values().count(); i++) {
+        sw = m_fileToEditor.values().at(i);
+        disconnect(sw, &QMdiSubWindow::destroyed, this, \
&LokalizeMainWindow::editorClosed); +        EditorTab* w = \
                static_cast<EditorTab*>(sw->widget());
         disconnect(w, &EditorTab::aboutToBeClosed, this, \
&LokalizeMainWindow::resetMultiEditorAdaptor);  disconnect(w, QOverload<const QString \
&, const QString &, const QString &, const bool>::of(&EditorTab::fileOpenRequested), \
this, QOverload<const QString &, const QString &, const QString &, const \
bool>::of(&LokalizeMainWindow::fileOpen));  disconnect(w, QOverload<const QString &, \
const QString &>::of(&EditorTab::tmLookupRequested), this, QOverload<const QString &, \
const QString &>::of(&LokalizeMainWindow::lookupInTranslationMemory));


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic