From 4ab7d5d8449f6e5cc974b626aa6c21d0846d8706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Mon, 4 May 2015 16:21:55 +0200 Subject: [PATCH] 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 --- YACReaderLibrary/classic_comics_view.cpp | 6 ++++++ YACReaderLibrary/classic_comics_view.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/YACReaderLibrary/classic_comics_view.cpp b/YACReaderLibrary/classic_comics_view.cpp index a94f67f9..63cdb322 100644 --- a/YACReaderLibrary/classic_comics_view.cpp +++ b/YACReaderLibrary/classic_comics_view.cpp @@ -60,8 +60,10 @@ ClassicComicsView::ClassicComicsView(QWidget *parent) tableView->setContextMenuPolicy(Qt::CustomContextMenu); //config-------------------------------------------------- + settingsMutex.lock(); if(settings->contains(COMICS_VIEW_HEADERS)) tableView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray()); + settingsMutex.unlock(); //connections--------------------------------------------- connect(tableView, SIGNAL(clicked(QModelIndex)), this, SLOT(centerComicFlow(QModelIndex))); @@ -141,8 +143,10 @@ void ClassicComicsView::setModel(ComicModel *model) comicFlow->setMarks(model->getReadList()); //comicFlow->setFocus(Qt::OtherFocusReason); + settingsMutex.lock(); if(settings->contains(COMICS_VIEW_HEADERS)) tableView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray()); + settingsMutex.unlock(); } } @@ -259,7 +263,9 @@ void ClassicComicsView::updateTableView(int i) void ClassicComicsView::saveTableHeadersStatus() { + settingsMutex.lock(); settings->setValue(COMICS_VIEW_HEADERS,tableView->horizontalHeader()->saveState()); + settingsMutex.unlock(); } void ClassicComicsView::saveSplitterStatus() diff --git a/YACReaderLibrary/classic_comics_view.h b/YACReaderLibrary/classic_comics_view.h index d98b3910..16c5a59b 100644 --- a/YACReaderLibrary/classic_comics_view.h +++ b/YACReaderLibrary/classic_comics_view.h @@ -64,6 +64,8 @@ private: void showSearchingIcon(); void hideSearchingIcon(); void updateSearchingIconPosition(); + + QMutex settingsMutex; }; #endif // CLASSIC_COMICS_VIEW_H