From 1c5fe35b7ca2b3afca10776d58bae82ae4a26c80 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sun, 13 Feb 2011 08:46:46 +0100 Subject: [PATCH] GUI: "remember sort state" option would cause crash on startup --- src/qtgui/rclmain_w.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index dad09c45..3dde41ee 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -188,13 +188,6 @@ void RclMain::init() sSearch->queryText->installEventFilter(this); - if (prefs.keepSort && prefs.sortActive) { - if (prefs.sortDesc) - actionSortByDateDesc->setChecked(true); - else - actionSortByDateAsc->setChecked(true); - onSortCtlChanged(); - } restable = new ResTable(this); verticalLayout->insertWidget(2, restable); actionShowResultsAsTable->setChecked(prefs.showResultsAsTable); @@ -311,6 +304,14 @@ void RclMain::init() connect(reslist, SIGNAL(headerClicked()), this, SLOT(showQueryDetails())); + if (prefs.keepSort && prefs.sortActive) { + if (prefs.sortDesc) + actionSortByDateDesc->setChecked(true); + else + actionSortByDateAsc->setChecked(true); + onSortCtlChanged(); + } + // Start timer on a slow period (used for checking ^C). Will be // speeded up during indexing periodictimer->start(1000); @@ -870,7 +871,7 @@ void RclMain::onSortCtlChanged() if (m_sortspecnochange) return; - LOGDEB(("RclMain::onCtlDataChanged()\n")); + LOGDEB(("RclMain::onSortCtlChanged()\n")); m_sortspec.reset(); if (actionSortByDateAsc->isChecked()) { m_sortspec.field = "mtime"; @@ -886,7 +887,8 @@ void RclMain::onSortCtlChanged() prefs.sortActive = prefs.sortDesc = false; } LOGDEB(("RclMain::onCtlDataChanged(): emitting change signals\n")); - m_source->setSortSpec(m_sortspec); + if (m_source.isNotNull()) + m_source->setSortSpec(m_sortspec); emit sortDataChanged(m_sortspec); emit applyFiltSortData(); }