summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-08-12 15:35:53 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-08-12 15:35:53 (GMT)
commit97f7299854197c6093aaefc1ec174209d68892e7 (patch)
tree26777ca5bcfb8c15ee022b28c5b940251b246cc9
parentee6aa8394ec7a93599571336af31b6a06e6e3ffd (diff)
parent2efd51c2808874c9217cdaea905754ae72d4e443 (diff)
downloadQt-97f7299854197c6093aaefc1ec174209d68892e7.zip
Qt-97f7299854197c6093aaefc1ec174209d68892e7.tar.gz
Qt-97f7299854197c6093aaefc1ec174209d68892e7.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Destroy the old runtime system only when existing pixmaps were migrated. Fixed autotest failure in tst_qgl::clipTest. Added way to destroy the share widget in the GL graphics system. qdoc: All references to -assistant and -base were removed.
-rw-r--r--doc/doc.pri2
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp4
-rw-r--r--src/opengl/qgl_egl.cpp1
-rw-r--r--src/opengl/qwindowsurface_gl.cpp19
-rw-r--r--src/opengl/qwindowsurface_gl_p.h1
-rw-r--r--tools/qdoc3/htmlgenerator.cpp18
-rw-r--r--tools/qdoc3/htmlgenerator.h1
-rw-r--r--tools/qdoc3/main.cpp15
8 files changed, 30 insertions, 31 deletions
diff --git a/doc/doc.pri b/doc/doc.pri
index e1efa21..a5db3c7 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -20,7 +20,7 @@ $$unixstyle {
QDOC = $$replace(QDOC, "/", "\\")
}
ADP_DOCS_QDOCCONF_FILE = -online qt-build-docs.qdocconf
-QT_DOCUMENTATION = ($$QDOC -assistant qt-api-only.qdocconf assistant.qdocconf designer.qdocconf \
+QT_DOCUMENTATION = ($$QDOC -creator qt-api-only.qdocconf assistant.qdocconf designer.qdocconf \
linguist.qdocconf qmake.qdocconf qdeclarative.qdocconf) && \
(cd $$QT_BUILD_TREE && \
$$GENERATOR doc-build/html-qt/qt.qhp -o doc/qch/qt.qch && \
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
index e1e0ad0..2828e9d 100644
--- a/src/gui/painting/qgraphicssystem_runtime.cpp
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -366,7 +366,7 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
#ifdef QT_DEBUG
qDebug() << "QRuntimeGraphicsSystem::setGraphicsSystem( " << name << " )";
#endif
- delete m_graphicsSystem;
+ QGraphicsSystem *oldSystem = m_graphicsSystem;
m_graphicsSystem = QGraphicsSystemFactory::create(name);
m_graphicsSystemName = name;
@@ -393,6 +393,8 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
proxy->m_windowSurface.reset(m_graphicsSystem->createWindowSurface(widget));
qt_widget_private(widget)->invalidateBuffer(widget->rect());
}
+
+ delete oldSystem;
}
void QRuntimeGraphicsSystem::removePixmapData(QRuntimePixmapData *pixmapData) const
diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp
index 3763926..a154325 100644
--- a/src/opengl/qgl_egl.cpp
+++ b/src/opengl/qgl_egl.cpp
@@ -240,6 +240,7 @@ void QGLContextPrivate::destroyEglSurfaceForDevice()
if (QGLWidget *wgl = qobject_cast<QGLWidget *>(w)) {
if (wgl->d_func()->eglSurfaceWindowId != wgl->winId()) {
qWarning("WARNING: Potential EGL surface leak! Not destroying surface.");
+ eglSurface = EGL_NO_SURFACE;
return;
}
}
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 6b82ed3..b86fb78 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -199,6 +199,7 @@ public:
return widget;
}
+ // destroys the share widget and prevents recreation
void cleanup() {
QGLWidget *w = widget;
cleanedUp = true;
@@ -206,6 +207,20 @@ public:
delete w;
}
+ // destroys the share widget, but allows it to be recreated later on
+ void destroy() {
+ if (cleanedUp)
+ return;
+
+ QGLWidget *w = widget;
+
+ // prevent potential recursions
+ cleanedUp = true;
+ widget = 0;
+ delete w;
+ cleanedUp = false;
+ }
+
static bool cleanedUp;
private:
@@ -233,6 +248,10 @@ QGLWidget* qt_gl_share_widget()
return _qt_gl_share_widget()->shareWidget();
}
+void qt_destroy_gl_share_widget()
+{
+ _qt_gl_share_widget()->destroy();
+}
struct QGLWindowSurfacePrivate
{
diff --git a/src/opengl/qwindowsurface_gl_p.h b/src/opengl/qwindowsurface_gl_p.h
index 5e670fe..ffc2e86 100644
--- a/src/opengl/qwindowsurface_gl_p.h
+++ b/src/opengl/qwindowsurface_gl_p.h
@@ -67,6 +67,7 @@ class QWidget;
struct QGLWindowSurfacePrivate;
Q_OPENGL_EXPORT QGLWidget* qt_gl_share_widget();
+Q_OPENGL_EXPORT void qt_destroy_gl_share_widget();
class QGLWindowSurfaceGLPaintDevice : public QGLPaintDevice
{
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 9e8d768..4603a40 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -293,12 +293,8 @@ void HtmlGenerator::initializeGenerator(const Config &config)
application = Online;
else if (app == "creator")
application = Creator;
- else if (app == "assistant")
- application = Assistant;
- else if (app == "base")
- application = Assistant;
else
- application = Online;
+ application = Creator;
projectDescription = config.getString(CONFIG_DESCRIPTION);
if (projectDescription.isEmpty() && !project.isEmpty())
@@ -1841,10 +1837,6 @@ void HtmlGenerator::generateHeader(const QString& title,
// CheckEmptyAndLoadList activating search
out() << "<body class=\"\" onload=\"CheckEmptyAndLoadList();\">\n";
break;
- case Assistant:
- out() << "</head>\n";
- out() << "<body class=\"offline \">\n";
- break;
case Creator:
out() << "</head>\n";
out() << "<body class=\"offline narrow creator\">\n"; // offline narrow
@@ -1866,11 +1858,6 @@ void HtmlGenerator::generateHeader(const QString& title,
generateBreadCrumbs(title,node,marker);
out() << QString(postPostHeader).replace("\\" + COMMAND_VERSION, myTree->version());
break;
- case Assistant:
- out() << QString(creatorPostHeader).replace("\\" + COMMAND_VERSION, myTree->version());
- generateBreadCrumbs(title,node,marker);
- out() << QString(creatorPostPostHeader).replace("\\" + COMMAND_VERSION, myTree->version());
- break;
case Creator:
out() << QString(creatorPostHeader).replace("\\" + COMMAND_VERSION, myTree->version());
generateBreadCrumbs(title,node,marker);
@@ -1988,9 +1975,6 @@ void HtmlGenerator::generateFooter(const Node *node)
out() << " </script> -->\n";
out() << "</body>\n";
break;
- case Assistant:
- out() << "</body>\n";
- break;
case Creator:
out() << "</body>\n";
break;
diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h
index 07226f5..eab10c6 100644
--- a/tools/qdoc3/htmlgenerator.h
+++ b/tools/qdoc3/htmlgenerator.h
@@ -97,7 +97,6 @@ class HtmlGenerator : public PageGenerator
enum Application {
Online,
- Assistant,
Creator};
public:
diff --git a/tools/qdoc3/main.cpp b/tools/qdoc3/main.cpp
index 38b76a4..fa7efee 100644
--- a/tools/qdoc3/main.cpp
+++ b/tools/qdoc3/main.cpp
@@ -194,10 +194,7 @@ static void processQdocconfFile(const QString &fileName)
/*
Set the application to which qdoc will create the output.
- The three applications are:
-
- base or assistant: simple, basic html output
- for offline viewing in the Assistant application.
+ The two applications are:
creator: additional formatting for viewing in
the Creator application.
@@ -207,9 +204,9 @@ static void processQdocconfFile(const QString &fileName)
*/
if (appArg.isEmpty()) {
qDebug() << "Warning: Application flag not specified on"
- << "command line. Options are -assistant, -creator,"
- << "and -online (default).";
- appArg = "online";
+ << "command line. Options are -creator (default)"
+ << "and -online.";
+ appArg = "creator";
}
config.setStringList(CONFIG_APPLICATION, QStringList(appArg));
@@ -484,10 +481,6 @@ int main(int argc, char **argv)
else if (opt == "-obsoletelinks") {
obsoleteLinks = true;
}
- else if (opt == "-base")
- appArg = "base";
- else if (opt == "-assistant")
- appArg = "assistant";
else if (opt == "-creator")
appArg = "creator";
else if (opt == "-online")