added mutex for avoiding COMICS_VIEW_HEADERS settings corruption, I have no way for forcing this issue, so I am not sure if this fixes the problem

This commit is contained in:
Luis Ángel San Martín
2015-05-04 16:21:55 +02:00
parent e3af72da44
commit 4ab7d5d844
2 changed files with 8 additions and 0 deletions

View File

@ -60,8 +60,10 @@ ClassicComicsView::ClassicComicsView(QWidget *parent)
tableView->setContextMenuPolicy(Qt::CustomContextMenu); tableView->setContextMenuPolicy(Qt::CustomContextMenu);
//config-------------------------------------------------- //config--------------------------------------------------
settingsMutex.lock();
if(settings->contains(COMICS_VIEW_HEADERS)) if(settings->contains(COMICS_VIEW_HEADERS))
tableView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray()); tableView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray());
settingsMutex.unlock();
//connections--------------------------------------------- //connections---------------------------------------------
connect(tableView, SIGNAL(clicked(QModelIndex)), this, SLOT(centerComicFlow(QModelIndex))); connect(tableView, SIGNAL(clicked(QModelIndex)), this, SLOT(centerComicFlow(QModelIndex)));
@ -141,8 +143,10 @@ void ClassicComicsView::setModel(ComicModel *model)
comicFlow->setMarks(model->getReadList()); comicFlow->setMarks(model->getReadList());
//comicFlow->setFocus(Qt::OtherFocusReason); //comicFlow->setFocus(Qt::OtherFocusReason);
settingsMutex.lock();
if(settings->contains(COMICS_VIEW_HEADERS)) if(settings->contains(COMICS_VIEW_HEADERS))
tableView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray()); tableView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray());
settingsMutex.unlock();
} }
} }
@ -259,7 +263,9 @@ void ClassicComicsView::updateTableView(int i)
void ClassicComicsView::saveTableHeadersStatus() void ClassicComicsView::saveTableHeadersStatus()
{ {
settingsMutex.lock();
settings->setValue(COMICS_VIEW_HEADERS,tableView->horizontalHeader()->saveState()); settings->setValue(COMICS_VIEW_HEADERS,tableView->horizontalHeader()->saveState());
settingsMutex.unlock();
} }
void ClassicComicsView::saveSplitterStatus() void ClassicComicsView::saveSplitterStatus()

View File

@ -64,6 +64,8 @@ private:
void showSearchingIcon(); void showSearchingIcon();
void hideSearchingIcon(); void hideSearchingIcon();
void updateSearchingIconPosition(); void updateSearchingIconPosition();
QMutex settingsMutex;
}; };
#endif // CLASSIC_COMICS_VIEW_H #endif // CLASSIC_COMICS_VIEW_H