Please sign in to comment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[needsbackport] apply an alternative fix for #20826
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.
- Loading branch information
Showing with 86 additions and 76 deletions.
- +9 −6 python/core/auto_generated/qgscredentials.sip.in
- +12 −17 src/app/qgisapp.cpp
- +17 −11 src/app/qgsappauthrequesthandler.cpp
- +0 −4 src/app/qgsgeometryvalidationdock.cpp
- +1 −2 src/core/auth/qgsauthmanager.cpp
- +16 −22 src/core/qgscredentials.cpp
- +14 −11 src/core/qgscredentials.h
- +1 −0 src/core/qgsnetworkaccessmanager.cpp
- +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