Ensured that inserConnect() is only called when the widget is visible

- added new method RsautoUpdatePage::securedUpdatePage()
- made insertConnect() private to disallow connecting it with callbacks in notifyQt.cpp
- this should also correct some possible deadlocks in passphrase handling
Needs full recompile + qmake of GUI



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6373 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2013-05-21 12:55:03 +00:00
parent 469b37aa60
commit bb916ad1cc
5 changed files with 27 additions and 19 deletions

View file

@ -21,13 +21,23 @@ class RsAutoUpdatePage: public MainPage
RsAutoUpdatePage(int ms_update_period = 1000, QWidget *parent = NULL, Qt::WindowFlags flags = 0) ;
virtual ~RsAutoUpdatePage() ;
virtual void updateDisplay() {}
static void lockAllEvents() ;
static void unlockAllEvents() ;
static bool eventsLocked() ;
public slots:
// This method updates the widget only if not locked, and if visible.
// This is *the* method to call when on callbacks etc, to avoid locks due
// to Qt calling itself through recursive behavior such as passphrase
// handling etc.
//
void securedUpdateDisplay() ;
protected:
// This is overloaded in subclasses.
//
virtual void updateDisplay() {}
virtual void showEvent(QShowEvent *e) ;
private slots: