summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qopenglcontext.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2016-11-10 12:45:49 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-11-10 16:14:51 +0000
commit467b15a20c3d6eb611ea5f6ccffd5fc0df81b0c4 (patch)
tree1bff11fa019cebd2242c856301b7bd28462a9f6c /src/gui/kernel/qopenglcontext.cpp
parent5cff7d2b679d48a247b4630cb9e3d5b04fab0b55 (diff)
Improve use of QHash to minimize double hashing
Avoid looking up by key twice in a row in various locations, but instead using iterators and index lookup. Change-Id: I61a079115199ab9c041ad3a26d36b45ee3f775e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/gui/kernel/qopenglcontext.cpp')
-rw-r--r--src/gui/kernel/qopenglcontext.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp
index 7e5697e5d8..8aea593bf0 100644
--- a/src/gui/kernel/qopenglcontext.cpp
+++ b/src/gui/kernel/qopenglcontext.cpp
@@ -848,14 +848,15 @@ QAbstractOpenGLFunctions *QOpenGLContext::versionFunctions(const QOpenGLVersionP
// Create object if suitable one not cached
QAbstractOpenGLFunctions* funcs = 0;
- if (!d->versionFunctions.contains(vp)) {
+ auto it = d->versionFunctions.constFind(vp);
+ if (it == d->versionFunctions.constEnd()) {
funcs = QOpenGLVersionFunctionsFactory::create(vp);
if (funcs) {
funcs->setOwningContext(this);
d->versionFunctions.insert(vp, funcs);
}
} else {
- funcs = d->versionFunctions.value(vp);
+ funcs = it.value();
}
if (funcs && QOpenGLContext::currentContext() == this)