Skip to content

Commit f54e4c8

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 2c7b598 + b39cd2d commit f54e4c8

File tree

4 files changed

+27
-5
lines changed

4 files changed

+27
-5
lines changed

.settings/language.settings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
8-
<provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console="false" env-hash="-1242828358748104657" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings MinGW" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8+
<provider class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.GCCBuiltinSpecsDetectorMinGW" console="false" env-hash="-703253235712566569" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetectorMinGW" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings MinGW" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
99
<language-scope id="org.eclipse.cdt.core.gcc"/>
1010
<language-scope id="org.eclipse.cdt.core.g++"/>
1111
</provider>

examples/emptydockarea/mainwindow.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ CMainWindow::CMainWindow(QWidget *parent)
5656
TableDockWidget->resize(250, 150);
5757
TableDockWidget->setMinimumSize(200,150);
5858
DockManager->addDockWidgetTabToArea(TableDockWidget, CentralDockArea);
59-
//auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget);
59+
auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget);
6060
ui->menuView->addAction(TableDockWidget->toggleViewAction());
6161

6262
table = new QTableWidget();
@@ -67,8 +67,7 @@ CMainWindow::CMainWindow(QWidget *parent)
6767
TableDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
6868
TableDockWidget->resize(250, 150);
6969
TableDockWidget->setMinimumSize(200,150);
70-
auto TableArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, TableDockWidget);
71-
//DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea);
70+
DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea);
7271
ui->menuView->addAction(TableDockWidget->toggleViewAction());
7372

7473
QTableWidget* propertiesTable = new QTableWidget();

src/DockManager.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,20 @@ CDockManager::CDockManager(QWidget *parent) :
505505
//============================================================================
506506
CDockManager::~CDockManager()
507507
{
508+
// fix memory leaks, see https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/issues/307
509+
std::vector<ads::CDockAreaWidget*> areas;
510+
for ( int i = 0; i != dockAreaCount(); ++i )
511+
{
512+
areas.push_back( dockArea(i) );
513+
}
514+
for ( auto area : areas )
515+
{
516+
for ( auto widget : area->dockWidgets() )
517+
delete widget;
518+
519+
delete area;
520+
}
521+
508522
auto FloatingWidgets = d->FloatingWidgets;
509523
for (auto FloatingWidget : FloatingWidgets)
510524
{
@@ -912,6 +926,8 @@ void CDockManager::loadPerspectives(QSettings& Settings)
912926
}
913927

914928
Settings.endArray();
929+
Q_EMIT perspectiveListChanged();
930+
Q_EMIT perspectiveListLoaded();
915931
}
916932

917933

src/DockManager.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,10 +521,17 @@ public Q_SLOTS:
521521

522522
Q_SIGNALS:
523523
/**
524-
* This signal is emitted if the list of perspectives changed
524+
* This signal is emitted if the list of perspectives changed.
525+
* The list of perspectives changes if perspectives are added, removed
526+
* or if the perspective list has been loaded
525527
*/
526528
void perspectiveListChanged();
527529

530+
/**
531+
* This signal is emitted if the perspective list has been loaded
532+
*/
533+
void perspectiveListLoaded();
534+
528535
/**
529536
* This signal is emitted if perspectives have been removed
530537
*/

0 commit comments

Comments
 (0)