| Summary: | Disable the button "Back" after changing album library path, if not it crashes DigiKam. | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Tung NGUYEN <ntung> |
| Component: | Albums-Engine | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | caulier.gilles |
| Priority: | VHI | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 7.5.0 | |
| Sentry Crash Report: | |||
|
Description
Tung NGUYEN
2005-11-14 14:52:49 UTC
imho we have to resolve these issues before releasing, I will have a look this weekend, but I'm unsure I can fix it on my own. Thank you very much. --- Tung. SVN commit 481653 by jahrens:
Oh Tung, how do you find all these stupid bugs? Cool :)
The album history wasn't cleared if another album library path was set.
BUG: 116344
M +13 -4 albumhistory.cpp
M +1 -0 albumhistory.h
M +2 -0 digikamapp.cpp
M +7 -0 digikamview.cpp
M +1 -0 digikamview.h
--- trunk/extragear/graphics/digikam/digikam/albumhistory.cpp #481652:481653
@@ -66,18 +66,27 @@
AlbumHistory::~AlbumHistory()
{
+ clearHistory();
+
+ delete m_backwardStack;
+ delete m_forwardStack;
+}
+
+void AlbumHistory::clearHistory()
+{
AlbumStack::iterator iter = m_backwardStack->begin();
AlbumStack::iterator end = m_backwardStack->end();
for(; iter != end; ++iter)
delete *iter;
-
+ m_backwardStack->clear();
+
iter = m_forwardStack->begin();
end = m_forwardStack->end();
for(; iter != end; ++iter)
delete *iter;
-
- delete m_backwardStack;
- delete m_forwardStack;
+ m_forwardStack->clear();
+
+ m_moving = false;
}
void AlbumHistory::addAlbum(Album *album, QWidget *widget)
--- trunk/extragear/graphics/digikam/digikam/albumhistory.h #481652:481653
@@ -47,6 +47,7 @@
void addAlbum(Album *album, QWidget *widget = 0);
void deleteAlbum(Album *album);
+ void clearHistory();
void back(Album **album, QWidget **widget, unsigned int steps=1);
void forward(Album **album, QWidget **widget, unsigned int steps=1);
void getCurrentAlbum(Album **album, QWidget **widget) const;
--- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #481652:481653
@@ -934,6 +934,8 @@
void DigikamApp::slotSetupChanged()
{
+ if(mAlbumSettings->getAlbumLibraryPath() != mAlbumManager->getLibraryPath())
+ mView->clearHistory();
mAlbumManager->setLibraryPath(mAlbumSettings->getAlbumLibraryPath());
mAlbumManager->startScan();
--- trunk/extragear/graphics/digikam/digikam/digikamview.cpp #481652:481653
@@ -353,6 +353,13 @@
}
}
+void DigikamView::clearHistory()
+{
+ mAlbumHistory->clearHistory();
+ mParent->enableAlbumBackwardHistory(false);
+ mParent->enableAlbumForwardHistory(false);
+}
+
void DigikamView::getBackwardHistory(QStringList &titles)
{
mAlbumHistory->getBackwardHistory(titles);
--- trunk/extragear/graphics/digikam/digikam/digikamview.h #481652:481653
@@ -67,6 +67,7 @@
void applySettings(const AlbumSettings* settings);
+ void clearHistory();
void getForwardHistory(QStringList &titles);
void getBackwardHistory(QStringList &titles);
|