Please sign in to comment.
Partly reverts c9e7616, which removed the synchronizatiion of credential requests (eg. in a project that has multiple layers from the same postgresql database without credentials) and led to multiple concurrent requests for the same credentials. Some of which were silently discarded, when events processed in the dialogs exec() event loop tried to reinvoke the dialog and caused invalid layers. Authentications caused by network requests can still cause this. The credential cache is now guarded by a separate mutex. (cherry picked from commit 2af3535)
- Loading branch information
Showing with 68 additions and 61 deletions.
- +9 −6 python/core/auto_generated/qgscredentials.sip.in
- +12 −17 src/app/qgisapp.cpp
- +1 −2 src/core/auth/qgsauthmanager.cpp
- +16 −22 src/core/qgscredentials.cpp
- +14 −11 src/core/qgscredentials.h
- +4 −2 src/gui/qgscredentialdialog.cpp
- +3 −0 src/providers/db2/qgsdb2provider.cpp
- +1 −1 src/providers/grass/qgsgrass.cpp
- +4 −0 src/providers/oracle/qgsoracleconn.cpp
- +4 −0 src/providers/postgres/qgspostgresconn.cpp