summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add optimize_full qmake config optionAllan Sandfeld Jensen2014-03-064-27/+18
| | | | | | | | | | | | | | | | | | | This patch adds a new config option to qmake to enable full optimization where it makes sense. This currently is supported on all gcc like compilers by exchanging -O2 for -O3. In qtbase it is used to enable full optimizations on qtcore and qtgui and in a later patch can be used to replace similar existing logic in QtWebKit's WTF and JavaScriptCore modules. This fixes a performance regression from gcc 4.7 to 4.8 in the software renderer. An aliasing error in qregion.cpp which was exposed by more aggresive optimization has been solved as well. Change-Id: Ic2c6c41b79cb3846212b40e7bcc11ff492beb27f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Cleanup SPDY stream closingAllan Sandfeld Jensen2014-03-061-33/+16
| | | | | | | | | | | | We should not accept or process messages on closed streams, and unless we are in a half-closed state (having initiated close ourselves), we should respond to FIN with a FIN of our own. This patch means we no longer trigger all the corner case teardown on common sites that were fixed in earlier patches. Change-Id: I0d2bab62700a0022a959e66c7053afbad07a9f7e Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* Improve xkb config root detectionGatis Paeglis2014-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | Relevant part from libxkbcommon's configure.ac file: xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config` if test "x$xkb_base" = x; then xkb_base=$datadir/X11/xkb fi AC_ARG_WITH([xkb_config_root], [AS_HELP_STRING([--with-xkb-config-root=<path>], [Set default XKB config root (default: xkeyboard-config install path)])], [XKBCONFIGROOT="$withval"], [XKBCONFIGROOT="$xkb_base"]) AC_SUBST([XKBCONFIGROOT]) This patch implements an equivalent logic in Qt's configure script (with some additions). Change-Id: I25968f76021e120e2439d2756121bbe3c5e18c98 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Append additional compose file search pathsGatis Paeglis2014-03-062-8/+14
| | | | | | | | On FreeBSD Compose files are stored in different place than on Linux distributions, this patch adds new search paths. Change-Id: Ic1e745801a2f9a53d1af058be8a1dfaced5032a7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Clean up proxy leftovers in gui/openglLaszlo Agocs2014-03-063-16/+0
| | | | | | Change-Id: I24d10dab121c23b0683fa99bd309cf557c3ddffb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Fix win32 mkspecsOswald Buddenhagen2014-03-061-1/+1
| | | | | | | | | | | Instead of checking for dynamicgl in QT_CONFIG, which is apparently not possible, revert them and do it in opengl.prf instead. Dynamic GL is Windows-only for the time being so this should be sufficient. Change-Id: If293ea4c9b024df52257086c8b6250602a44724d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Use None instead of GLX_NONEAlbert Astals Cid2014-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | GLX_NONE is not 0, so it doesn't work as end-of-list marker The documentation explicitly mentions to use None or NULL Fixes valgrind warning ==22686== Conditional jump or move depends on uninitialised value(s) ==22686== at 0x78949AF: glXCreatePbuffer (glx_pbuffer.c:709) ==22686== by 0xDD7F0E1: QGLXPbuffer::QGLXPbuffer(QOffscreenSurface*) (qglxintegration.cpp:515) ==22686== by 0xDD624B0: QXcbIntegration::createPlatformOffscreenSurface(QOffscreenSurface*) const (qxcbintegration.cpp:259) ==22686== by 0x4F1D6A2: QOffscreenSurface::create() (in /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.2.1) ==22686== by 0xDD80248: QGLXContext::queryDummyContext() (qglxintegration.cpp:454) ==22686== by 0xDD803F0: QGLXContext::supportsThreading() (qglxintegration.cpp:488) ==22686== by 0x5BD9927: QSGRenderLoop::instance() (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1) ==22686== by 0x5BF969E: QQuickWindowPrivate::init(QQuickWindow*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1) ==22686== by 0x5C97BFC: QQuickView::QQuickView(QWindow*) (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.2.1) ==22686== by 0x40636F: startShell(int, char const**, void*) (main.cpp:91) ==22686== by 0x407125: main (main.cpp:193) Change-Id: Ib4f5ae50f7e31d3fbeb5acf67753e1d8b9e434b0 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Remove unused and unlinked qdocconf file from src/plugins.Jędrzej Nowacki2014-03-061-25/+0
| | | | | Change-Id: Ie6fd3f9fe7d5bbbe948dd3d38d2be835fd92834d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* QDoc: Do not warn about a file overwritting while writing to /dev/nullJędrzej Nowacki2014-03-061-1/+1
| | | | | | Change-Id: I7d23edf5a73d521bad361f1007be0750acd4c1e9 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Make QOpenGLFunctions able to resolve everythingLaszlo Agocs2014-03-063-49/+347
| | | | | | | | | | | | | At least if the platform plugin's QPlatformOpenGLContext implementation supports it. This completes the QOpenGLFunction changes necessary for dynamic loading of the OpenGL implementation. Everything else is up to the platform plugin. Change-Id: I710e6fbee3005360ecf02bc6ef976e1beb513819 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Dynamic GL: Query gl handle and type via the native interfaceLaszlo Agocs2014-03-063-1/+45
| | | | | | Change-Id: I7ca5beaeb57ee2e4e9c175f53ac32371d1f6b5ed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Tablet target widget isn't always the same as its widget windowShawn Rutledge2014-03-061-2/+8
| | | | | | | | | | | | | In this scenario there is a widget with a QPushButton inside, and you click the pushbutton with the tablet. The target of the event is the pushbutton, but when you click it, the window is destroyed. The widgetwindow destructor cannot check the pushbutton's window() because it has already been destroyed. So it seems we have to store both widgets: the actual target and the parent widget which has the window. Task-number: QTBUG-36848 Change-Id: I37d8fb03743f3e501d695342edc42de104777b18 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Complete QJsonValue::fromVariant()Sze Howe Koh2014-03-061-1/+3
| | | | | | | | | | | | | | - QVariant can store (U)Int, (U)LongLong, Float and Double numbers. Previously, QJsonValue::fromVariant() converted Floats into Strings while converting the others to Doubles. - Add unit tests for QJsonValue::fromVariant() [ChangeLog][QtCore][JSON] QJsonValue::fromVariant() will now convert single-precision Floats into Doubles instead of Strings Change-Id: I457adbe29c37ada611d1c6d711c42866d63d4024 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Always initialize integer types in D-Bus demarshallingThiago Macieira2014-03-061-0/+18
| | | | | | | | | | | | | | | If you tried to demarshall in a write-only QDBusArgument, the class would print a warning, but will continue running nonetheless. So instead just initialize everything, despite the warning. qdbusargument.cpp:1138:30: error: ‘d’ may be used uninitialized in this function [-Werror=maybe-uninitialized] qdbusargument.cpp:1165:33: error: ‘s’ may be used uninitialized in this function [-Werror=maybe-uninitialized] qdbusargument.cpp:1301:15: error: ‘y’ may be used uninitialized in this function [-Werror=maybe-uninitialized] etc. Change-Id: I6d713b4a7b7639e31f3b39bb488ad3ed3ab3fa4a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Avoid creating a new QMimeData each time the Android clipboard is usedSamuel Gaist2014-03-062-4/+6
| | | | | | | | | | | | This patch aims to fix a memory leak that occurs when the platform clipboard is used on Android. The QMimeData from the clipboard is recreated each time mimeData is called [ChangeLog][QtCore][QPA/Android] Fixed a memory leak in the clipboard Task-number: QTBUG-36025 Change-Id: I241f586589ff256885caee5e5f737313d24d942d Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Fix compileBogDan Vatra2014-03-061-2/+1
| | | | | | | | Move Q_Q(QGLContext); inside #ifndef block, otherwise q varialble remains unused and it breaks the compilation. Change-Id: Iebef9a45930fd4f7783eb983b55bf6b5e0b94cf4 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Pass the APPLICATION_PARAMETERS variable if defined.BogDan Vatra2014-03-061-5/+9
| | | | | Change-Id: I2a3c049db43bbd0a2c373dae9e9ac1395c099b74 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android: Display HTML text correctly on Android native dialog.BogDan Vatra2014-03-061-7/+9
| | | | | | | Task-number: QTBUG-35687 Change-Id: I3a298b7f4c5f9608537b1afdb994d76ef3abb706 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Update QStyle::sizeFromContents() docsJ-P Nurmi2014-03-051-8/+22
| | | | | | Task-number: QTBUG-37125 Change-Id: Id220312dab6b7e3e7de4932fd377f8850fe86e84 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Prevent repeated and unnecessary font population QCoreTextFontDatabaseTor Arne Vestbø2014-03-055-19/+43
| | | | | | | | | | | | | | | | | | | | | | The platform font database is populated from QFontDatabase, through the static initializeDb() function, whenever the font database determines that the platform database has not been initialized (by checking if the font database is empty). There are other clients of QPlatformFontDatabase though, such as QFont, which uses the platform font database to check for the default family. The CoreText implementation of determining the default family relies on data that is computed during font population, and hence does an internal (self-triggered) populate. To prevent repeated populates as a result of calling QFont::defaultFamily() we guard the populate by a similar isEmpty() check as QFontDatabase does, but to ensure that this check works in the case of an invalidated font database, we need to propagate the font database invalidation down to the platform font database. Change-Id: I8d06c6f6fc5da6353c087335859eaca008c2f6a6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Make QFontEngine::type() non-virtualKonstantin Ritt2014-03-0512-56/+33
| | | | | Change-Id: I24ece90d6d8f96dad0c41a474a491b4ea96d97c3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Get rid of QFontEngine::name()Konstantin Ritt2014-03-0510-37/+4
| | | | | | | | It was only used in QFontCache debug output, and some engines weren't even report a name. Change-Id: I6cec4b75f105f5a4e1405f50188bebb3a3f04e33 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Optimize QFontEngineMulti::stringToCMap() in case of missing glyphsKonstantin Ritt2014-03-051-15/+7
| | | | | | | | | Use recently introduced glyphIndex() method and only recalc advances if the glyph is present in the font. This allows to avoid restoring the old advance when the glyph was not found in the fallback fonts. Change-Id: I3e0aa549961767e5448816327328101cf6a78873 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Optimize glyph lookups with QFontEngine::glyphIndex(uint)Konstantin Ritt2014-03-058-264/+62
| | | | | | Change-Id: I56c7e727f3d9b08195f38939106620c744c6eaf0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Merge qfontdatabase_qpa.cpp with qfontdatabase.cppTor Arne Vestbø2014-03-042-475/+416
| | | | | | | | | There's no point in separating them anymore, and it just makes editing and reasoning about the QFontDatabase code harder. Change-Id: I6bc8cb5e5daac26293e75553639e4a4d34eba3bd Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Extend QOpenGLFunctions with GL1 functionsLaszlo Agocs2014-03-042-98/+1286
| | | | | | | | | | | | | | | | | | This introduces the ability to indirectly invoke all common GL1-GLES2 functions via QOpenGLFunctions. The GL1 functions are not yet resolved, since this would not work anyway when linking to an OpenGL implementation directly. However this may change later but that will be a completely internal change without affecting any public APIs. Also migrate some of the opengl examples to use QOpenGLFunctions for everything. Once dynamic GL loading becomes available on some platforms, these examples should continue to function without any changes since they do not anymore invoke any OpenGL functions directly. Task-number: QTBUG-36483 Change-Id: Ie630029651e5a4863a480aac5306edd67ee36813 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Don't assume a QBasicDrag will start and end over a QWindowTor Arne Vestbø2014-03-041-3/+2
| | | | | | | | | | | | A QBasicDrag is started from QBasicDrag::drag() through the drag manager, which may happen from e.g a widget. The event filter needs to look at events to more than just QWindows, otherwise the filter will miss eg. mouse release events that are sent to QWidget and not to the QWindow handle, and the drag goes on forever, causing invalid internal state when a new drag is then started. Change-Id: I5cee250e2c7552817bda0895d4c5794e12d26592 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Revert path() behavior to not expand a current path on a driveAndy Shaw2014-03-041-1/+1
| | | | | | | | | | | | | | | | | In the original change - cfb44c6528b2518274bf157388832d1d610ce0e4 - when querying for the path of a file that did not contain a slash after the drive indicator it would get the current path and return that as the path that the file resided on. However this meant that it would take the current path at that time which may not be the actual path that was expected. So it was decided that it should revert back to the original behavior which was to just return the drive letter followed by the colon which would thus indicate still that it represented whatever the current path was on that drive. Change-Id: Ic57ae9227882a66e9a4c4d6537d7f2cae829165a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Dynamic GL: remove exporting symbolsLaszlo Agocs2014-03-0434-4831/+244
| | | | | | | | | | | | | | | | | | | | | Remove the opengl proxy for now. Later it will either be moved into a separate library or replaced by a QOpenGLFunctions-based approach. This means that the -opengl dynamic configuration is not usable for the time being. The rest of the enablers remain in place. The convenience function QOpenGLFunctions::isES() is now moved to QOpenGLContext and is changed to check the renderable type. This is extremely useful since besides supporting dynamic GL it solves also the problem of GL_ARB_ES2_compatibility (i.e. it triggers the real ES path when creating an ES-compatible context with a desktop OpenGL implementation). Task-number: QTBUG-36483 Task-number: QTBUG-37172 Change-Id: I045be3fc16e9043e1528cf48e6bf0903da4fa7ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Doc: Mention that QSortFilterProxyModel::lessThan() handles floatsSze Howe Koh2014-03-041-0/+1
| | | | | | Change-Id: Iaf97d22fad3724d1910b18b6d38a06eae4c909ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Clarify QJsonValue::fromVariant() type conversionsSze Howe Koh2014-03-041-12/+40
| | | | | | | | | | It wasn't obvious before that many QMetaType types get converted to the same QJsonValue type. Change-Id: I7bb02cb10b6c8a873e291cdf1e16c6c821d51208 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix crash in QSimpleDrag if drag wasn't started over a QWindowTor Arne Vestbø2014-03-041-2/+3
| | | | | | | | | The code in QSimpleDrag::startDrag() checks for the validity of the current window before passing it on to QWindowSystemInterface::handleDrag(), and so should QSimpleDrag::cancel(). Change-Id: I2228d86ede2a0b8379a55000a5c1d830cab44d45 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Vista Style: Fix menu item checkmark offset for QQuick ControlsGabriel de Dietrich2014-03-041-1/+1
| | | | | Change-Id: I8d4a8f0d3a079a5569f9442f8d6d523f05daca60 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* iOS: prevent crash on iOS 5Richard Moe Gustavsen2014-03-041-3/+3
| | | | | | | | | | For some reason, the [] access into NSDictionary causes a crash on iOS 5. So instead use the API as listed in the documentation: objectForKey. Task-number: QTBUG-36532 Change-Id: I19fdf0f4ba1aebaf9477e2bd45040c389923605d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QTouchDevice Documentation grammar correction.David Fries2014-03-041-1/+1
| | | | | | Change-Id: I3b378f1c3df7210029cf82208c23b67b75c47021 Signed-off-by: David Fries <David@Fries.net> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix QDateEdit popup appearance on macJens Bache-Wiig2014-03-042-7/+1
| | | | | | | | | | | | The WS/OS was obviously incorrect and the hack seems not to be needed any more. [ChangeLog][QtWidgets][Mac] Fixed incorrect appearance of QDateEdit with calendarPopup enabled. Task-number: QTBUG-36692 Change-Id: Ic62c9993dc13e783c00fcb56f75d92967eb5074d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix issue where revealed widget children do not receive paint event.Chris Colbert2014-03-042-13/+2
| | | | | | | | | | | | | | | | | | | | When a child of a widget is spontaneously revealed due to a call to the parent 'resize' method, the child will not receive a paint event if it has the WA_StaticContents and WA_OpaquePaintEvent flags set. This is caused by the backing store being pre-emptively resized by the call to setGeometry_sys, which causes QWidgetBackingStore::sync to skip the block which handles the static contents. There doesn't appear to be any reason to preemptively resize the backing store, since it is always resized as-needed during the the 'sync' method. This change-set removes the code which preemptively resizes the backing store. Task-number: QTBUG-35282 Change-Id: Ie9942854ca5322dfe0f98ed8100810161576be80 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* xcb: Rename main.cpp to xcbmain.cpphjk2014-03-042-2/+2
| | | | | | | | | Files with same base name cause extra trouble for debuggers. It can be avoided here. Change-Id: I1b7a6f28ac41bacbfd2603feb8b786c31d3769e3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Support QQuickWidget on Windows.Friedemann Kleint2014-03-044-1/+25
| | | | | | | Task-number: QTBUG-36887 Change-Id: Ifb03804e21fd82d7eae2942b9e8ca83f1bdb776c Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Doc: fix warning: No documentation for 'QApplication::palette()'Marc Mutz2014-03-041-1/+1
| | | | | | | Hide the forwarder function from QDoc. Change-Id: I2ea5cce0e68a5803cd4a24cefbbd50fc6c5ffb94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Doc: fix documentation for QGraphicsScene::focusItemChanged()Marc Mutz2014-03-041-1/+1
| | | | | | | The name was misspelled in \fn. Change-Id: I09824b72423b116612ee6e1069793de95d76f883 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Disable 'gsub' table check for AAT fonts on MacKonstantin Ritt2014-03-041-0/+9
| | | | | | | In AAT fonts, 'gsub' table is effectively replaced by 'mort'/'morx' table. Change-Id: Ifa044c8e28c3f2aab0f57ba5e3e6b99ada84d37c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Revert "Propagate synthesized mouse events in parallel (lock-step) with touch"Eskil Abrahamsen Blomfeldt2014-03-042-95/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7808ec795c5831d56dae9c4f9f7e1306489864aa. The commit interferes with the mouse event synthesizing which was introduced in e50416066cab4be7df8382bd224d9e4ddd7a903a, and which claims to solve the same original problem: Synthesizing mouse events should be moved out from the platform plugin. The issue with 7808ec795c5831d56dae9c4f9f7e1306489864aa is that mouse events which are stolen by event filters will never get composed double click events (this is done in the QGuiApplication code), so double clicking on item views does not work with synthesized mouse events. This makes e.g.directory pickers unusable on a touch display. The test cases introduced in the original patch still pass. Task-number: QTBUG-36974 Change-Id: I0ec7c65d2a77589e60408623c2c0b20d427f0cfa Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Android: Add commercial license to BSD-licensed filesEskil Abrahamsen Blomfeldt2014-03-044-0/+40
| | | | | | | | | These files should also be usable under the commercial license terms as an alternative to the BSD license. Change-Id: If211bb63789722f655843831073ed05ee69811ea Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: fix Q_ASSERT exampleJoerg Bornemann2014-03-041-1/+1
| | | | | | | Task-number: QTBUG-37162 Change-Id: Ifef8a976d29125251d7d87028c29deee4353e10a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Doc: fix documentation of QProgressDialog::openJoerg Bornemann2014-03-041-1/+1
| | | | | | | | | | The slot is connected to the canceled() signal and not to the accepted() signal since the introduction of the open method. Task-number: QTBUG-37210 Change-Id: I0604c612f6054611a69876d53908bb58ec048b09 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Windows Vista Style: Don't draw menubar item background for QQ ControlsGabriel de Dietrich2014-03-041-5/+7
| | | | | | | | | In QtQuick Controls, we draw the full menubar background and the menubar items on top. Unless in a particular state, there's no need to draw the background or it may overlap with the menubar edge. Change-Id: Ia35a73274cc10b3b5a3f55573c92919f99555db0 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Cocoa: Keep child NSWindow alive while it grabs the mouseGabriel de Dietrich2014-03-042-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, Cocoa loses sight on which window to send the dragging mouse event. If the window is kept alive (but hidden) Cocoa will send the events to it, and we can forward them to the actual QWindow. This is the expected use-case: 1. Start dragging a QWindow and change its flags. 2. This triggers a call to QCocoaWindow::recreateWindow(), which will get rid of the old NSWindow and create a new one (the QNSView is moved to the new NSWindow). 3. When we stop dragging, the NSWindow is finally destroyed. QNSView Pointer References Remarks: In QNSView, m_window points to the QWindow which remains unchanged until deleted. Similarly m_platformWindow remains valid until deleted, in which case we delete the QNSView, the NSWindow and its helper (see QCocoaWindow destructor). This fixes undocking QToolBars when they are a child NSWindow. Task-number: QTBUG-33082 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Change-Id: I6fc53292cd96586cfdf401481c5442d759f1fae5 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Cocoa: Use helper class for event handling in native windowsGabriel de Dietrich2014-03-042-106/+169
| | | | | | | | | | | | | | | | | | | | | | | | | QNSWindow and QNSPanel duplicate some code when it comes to event handling, which can be refactored. Also, it's currently not possible to keep an NSWindow derived instance temporarily alive as QCocoaWindow is not designed to keep track of more than one NSWindow. Finally, we can reduce the size of (and eventually remove) the QCocoaWindowCategory which polutes the NSWindow namespace. We move QNSWindow and QNSPanel specific API into QNSWindowProtocol, and define QCocoaNSWindow as NSWindow extended by that protocol. This gives us a type we can refer to any of the native windows QCocoaWindow instanciates. We introduce QNSWindowHelper which gathers the common code between QNSWindow and QNSPanel. This is a one-to-one mapping that keeps a weak (non-retaining) reference to the NSWindow and a weak reference to the QCocoaWindow. It has the same life span as its associated NSWindow. Task-number: QTBUG-33082 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Change-Id: I38d001bf13f64a1ba4f1439291c5103c3f755183 Reviewed-by: Liang Qi <liang.qi@digia.com>
* SPDY must handle destoyed QNetworkReplyAllan Sandfeld Jensen2014-03-042-0/+10
| | | | | | | | | | | | A QNetworkReply may be deleted before it is closed by the protocol. Since QSpdyProtocolHandler tracks pointers to QNetworkReplies it must keep track of their destruction as well to avoid links to deleted objects. This fixes the last issue with SPDY access of Google Mail in QtWebKit. Change-Id: I2c56dc080fdcb249b6ed9189fef84cbbc1220cbd Reviewed-by: Peter Hartmann <phartmann@blackberry.com>