--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp Thu May 27 12:46:08 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp Fri Jun 11 13:30:16 2010 +0300
@@ -78,7 +78,7 @@
*/
HsArrangeState::HsArrangeState(QState *parent) :
QState(parent), mDialog(0), mEntriesList(0),
- mItemModel(0), mFinishedEntered(false)
+ mItemModel(0)
{
construct();
}
@@ -193,21 +193,13 @@
*/
void HsArrangeState::arrangeDialogFinished(HbAction* finishedAction)
{
- if (!mFinishedEntered) {
- mFinishedEntered = true;
-
- mEntriesList->setArrangeMode(false);
- if (finishedAction == mDialog->actions().value(0)) {
- save(*mEntriesList);
- }
- emit exit();
- } else {
- // (work-around for crash if more then one action is selected in HbDialog)
- qWarning("Another signal finished was emited.");
+ mEntriesList->setArrangeMode(false);
+ if (finishedAction == mDialog->actions().value(0)) {
+ save(*mEntriesList);
}
+ emit exit();
}
-
/*!
Slot invoked when a state is exited.
*/
@@ -215,9 +207,10 @@
{
HSMENUTEST_FUNC_ENTRY("HsArrangeState::stateExited");
if (mDialog) {
+ disconnect(mDialog, SIGNAL(finished(HbAction*)), this, SLOT(arrangeDialogFinished(HbAction*)));
mDialog->close();
+ mDialog = NULL;
}
- mDialog = NULL;
mObjectList.clear(); // mDialog as parent for all confml items
@@ -228,8 +221,6 @@
mArrangedCollIdList.clear();
mCollIdList.clear();
- mFinishedEntered = false;
-
HSMENUTEST_FUNC_EXIT("HsArrangeState::stateExited");
qDebug("HsArrangeState::stateExited()");
}