summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* eglfs: Handle desktop and multiple windows gracefullyLaszlo Agocs2013-09-131-1/+7
| | | | | | | | | When trying to create more than one window, stop with a helpful error message since this is not yet supported. Also, return a fake WId for desktop windows. Change-Id: I9859b62b1d4f6b6142982d2e5a90afc1fc3c6a28 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Add assert if a global static is used after deletion.Jędrzej Nowacki2013-09-131-2/+10
| | | | | | | | | Q_GLOBAL_STATIC accessor is documented to return dangling pointer if called after destruction. Change-Id: Ieafd5619b20ad256d9d5ad007d939f1430ef681f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* eglfs: Avoid glUniform calls with wrong type when drawing the cursorLaszlo Agocs2013-09-131-1/+1
| | | | | | | It is not really fatal but fixing it gets rid of a Mesa warning. Change-Id: I3045b2691e7457541d6524c3e3ff8a1882ca460b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix new warnings under Clang 3.3Thiago Macieira2013-09-131-34/+36
| | | | | | | | | | | | | | | Probably added by a1898f4466518bf3e1b6e9154eec05ecf9d909e3. qmetatype.h:70:29: error: inline function 'qMetaTypeId<QtMetaTypePrivate::QSequentialIterableImpl>' is not defined [-Werror,-Wundefined-inline] qmetatype.h:1363:30: note: used here const int toId = qMetaTypeId<QtMetaTypePrivate::QSequentialIterableImpl>(); qmetatype.h:70:29: error: inline function 'qMetaTypeId<QtMetaTypePrivate::QAssociativeIterableImpl>' is not defined [-Werror,-Wundefined-inline] qmetatype.h:1386:30: note: used here const int toId = qMetaTypeId<QtMetaTypePrivate::QAssociativeIterableImpl>(); Change-Id: I9afe1a3d50ab23eb701797e28b259966dc95a147 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Make QCollator more flexible to use in different platformsAleix Pol2013-09-138-214/+838
| | | | | | | | | | | | | | | | | So far we've known that we want QCollator as public API. It hasn't been possible yet due to the strong dependency that QCollator used to have on ICU. This patch adds collation support for the platforms where ICU is not the best option by using native collation API. Namely Windows and Mac OS X. Additionally a fallback POSIX back-end is added, so that we can make sure it will work on any posix-compliant platform. Change-Id: Ia1734acbf5f596698a81f2af927cc15636e4c908 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Refactor QCollator to be able to use it in different platformsAleix Pol2013-09-132-256/+144
| | | | | | | | | Propose the API to be changed so that we can implement QCollator in the different platforms where Qt is available. Change-Id: I7b3e933d7e3d1aa26c1b78d21ef75b71c692827f Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make the QCollator class publicLars Knoll2013-09-134-19/+26
| | | | | | | | The class missed the feature freeze for Qt 5.0, but has been ready for quite a while. So make it public in time for Qt 5.2. Change-Id: I9ac3f579ff5e371925fad40684762fff7ee4abd8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Warn if OpenType support missing for script of interestKonstantin Ritt2013-09-133-1/+3
| | | | | | Change-Id: I076cfc5244ca3c060fd005cc3fbf30b357604bc7 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Decrease code duplication in QFontDatabase-sKonstantin Ritt2013-09-134-37/+18
| | | | | | | | Move scriptRequiresOpenType() body right into QFontEngine::supportsScript(), thus centralizing use of this performance cheat. Change-Id: I5f494b086f8f900b631c491f41e9cb800002c0f6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Implement QFontEngine::harfbuzzFont/Face() with HarfBuzz-NGKonstantin Ritt2013-09-131-2/+2
| | | | | Change-Id: I5d4fed66d66e8aa650fe181e61dcc2345f0f907a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QFontConfigDatabase: Minor code clean-upKonstantin Ritt2013-09-131-22/+10
| | | | | | | | Get rid of duplicated includes, useless defines, and private enums that just duplicate a public ones; avoid variable names collisions. Change-Id: I540e812b6cd510eb1ed441d97e9af377611d804a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Implement hasPendingEvents() in the event dispatcherTor Arne Vestbø2013-09-121-2/+11
| | | | | | | | | | | As we're using CFRunLoopIsWaiting() to check for the possible presence of system events hasPendingEvents() will never return false if called on the main thread. We assume clients will not use this function to determine whether or not to call processEvents(), but instead use the return value from processEvents. Change-Id: Ifd63892c6d35bb7da204072616bfe3ee69ca1d85 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Teach event-dispatcher to handle changes to run-loop mode at runtimeTor Arne Vestbø2013-09-122-2/+77
| | | | | | | | | | | | | | | | | | | | | | | | UIKit changes the run-loop mode during scrolling to UITrackingMode, which presumably prioritizes touch events and other sources related to a smooth scrolling experience. It signals this change by interrupting the current run-loop pass, and the outer loop is responsible for re-entering the run-loop in the new mode. Failing to enter the run-loop with this new mode results in UIScrollViews losing their kinetic feel when flicking. This can be observed by e.g. bringing up the Emoji keyboard and scrolling it horizontally. We keep track of the current run-loop mode by listening for push and pop notifications on the UIApplication object. The current mode is then used in our Q_FOREVER-loop when re-entering CFRunLoopRunInMode. For now we don't add our posted event source or timer source to the new modes, under the assumption that the system prefers to limit the number of sources that will fire during scrolling. If this turns out to give a bad user-experience for Qt applications we should consider changing it. Change-Id: I3a612b3cfc77c74b658963057732dc4d61684df8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* QtConcurrent: use nth_element to calculate the (correct) medianMarc Mutz2013-09-121-3/+4
| | | | | | | | Sorting is O(NlogN) complexity, while nth_element is linear. Also remove the errornous +1 when calculating the median position. Change-Id: Ib39085b59a6c5d15a3a940b1ce3377080340bc09 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* iOS: Rewrite CoreFoundation event-dispatcherTor Arne Vestbø2013-09-122-205/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having separate code-paths for QEventLoop::EventLoopExec and the non-blocking processEvent() we now have a single Q_FOREVER loop where the logic can be shared. We make multiple loop-passes, each time calling CFRunLoopRunInMode with potentially different arguments, depending on the result of the previous run. For the EventLoopExec case we'll continue making loop-passes until the event-loop has been interrupted. For the non-EventLoopExec case, we respect interruption, but will continue making loop-passes only until we've processed all events in the queue, optionally waiting for the initial event if WaitForMoreEvents is set. Limitations in the CoreFoundation APIs unfortunately force us to keep some state on whether or not we've processed events and timers for a given processEvents() pass (with corresponding deferred scheduling of timers and event source signaling). The way we handle timers has also been rewritten to no longer defer the timer activation to a special timer source. The constraint of CoreFoundation timers is that they can not recurse (re-fire) in a callback, but that only applies per timer, so using multiple CF timers allows us to recurse. We still only use a single CF timer for all the Qt timers though, and only spawn a new CF timer if the user calls processEvents() inside a timer callback. This commit removes the logic related to dealing with UITrackingMode, as that logic was slighly problematic, but the feature will be added back in a follow-up commit, in line with the new approach. The result of this commit is that we're passing all event-loop, event-dispatcher, and timer auto-tests, both for the QtCore dispatcher and the GUI event-dispatcher. Change-Id: I3c56fbc7857a25110064681257abb47075b5bd2d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Bump minimum required deployment target to 5.0Tor Arne Vestbø2013-09-121-1/+1
| | | | | | | Apple only provides simulators for 5.0+, and we now rely on 5.0+ APIs. Change-Id: I9ec047767b5f5e1b33aeef186ec6aff2b9c70a05 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Move iOS makespec out of unsupported directoryTor Arne Vestbø2013-09-124-7/+7
| | | | | | | | | It's a supported platform from 5.2, and we want build-scripts/CI/etc to adapt to the change as soon as possible. Change-Id: I8c78351191f59a6ecab33acc0829d2535379c787 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Simo Fält <simo.falt@digia.com>
* QXcbSystemTrayTracker::trayWindow compiles if Q_XCB_DEBUG is onShawn Rutledge2013-09-121-1/+1
| | | | | | | | Fixes qxcbsystemtraytracker.cpp:125:134: error: 'connection' was not declared in this scope Change-Id: If881aa9466ea94d5392da9f177e4b79e044710b7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QNX: Prevent rendering when app is minimizedBernd Weimer2013-09-123-1/+20
| | | | | | | | | Windows will only be exposed and hence rendered when they are not minimized. This will save useless computations and hence battery. Change-Id: I83166cc6c3d89e878106c998a35890dd7788ed8a Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Add clear button and side action to customsortfiltermodel example.Friedemann Kleint2013-09-127-33/+223
| | | | | | | | Demonstrate the new side widgets feature of QLineEdit. Change-Id: I1c4289c652abf2209e50601871249008fdec4f6b Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Remove qCopy from QCoreApplicationGiuseppe D'Angelo2013-09-121-1/+3
| | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I3ae7f8331440241d524844eb387d956c64ab62e9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qdoc: Avoid CppCodeMarker crash on abstract QML typesMartin Smith2013-09-121-1/+7
| | | | | | | | | | | | | | | | | | In a while loop, when the first QML type encountered was abstract, qdoc didn't create a class map on the heap, but later in the loop, the class map was used anyway. This caused a crash because of a null pointer to the class map. Now qdoc creates a class map if one hasn't been created yet, even if the QML type is abstract. This might not be correct, but the real problem is probably the order in which qdoc processes the QML types. It should probably always start with a non-abstract type. But this fix will at least avoid the crash. Task-number: QTBUG-33387 Change-Id: Icecb165261469856820f81e3866218b15416ae3b Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Android: Make font size compatible with Qt for iOSPaul Olav Tvete2013-09-123-2/+7
| | | | | | | | | | | | We recommend using pixel sizes for predictable results. For those who use point sizes in their UIs, we will now give them results that look similar to what we do on iOS. The default font is changed to give the same size as before this change. Task-number: QTBUG-32096 Change-Id: Ia25506ba721a39d31340f3df8bc14129e507af14 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Windows: Fix/Improve closing of native file dialogs.Friedemann Kleint2013-09-111-11/+65
| | | | | | | | IFileDialog::close() only works from callbacks. Try to find the dialog window and send it a WM_CLOSE in addition. Change-Id: Id0f89f8781564e19e4763d43a71df55d5299fb35 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add CUPS Banner Pages options to print supportMartin Klapetek2013-09-115-13/+150
| | | | | | | | | | | Adds a way to set standard CUPS Banner Pages. This widget is part of the Job Options widget/tab in Properties dialog. [ChangeLog][QtPrintSupport][QPrintDialog] Added support for setting CUPS Banner pages in the print dialog. Change-Id: Ia7a22b7a0f51c12d170986caee61af7109e781e9 Reviewed-by: John Layt <jlayt@kde.org>
* iOS: Change main-wrapper logic to not require changing the user's mainTor Arne Vestbø2013-09-116-77/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using a define to rename the user's main() function during compilation, we leave the user code alone, and inject our wrapper one step earlier in the process, at the application entry point 'start'. This entry point is provided by crt1.o, which is normally linked into the application automatically. The start() function sets up some state and then calls main(), but we change the start() function to instead call our main wrapper. Instead of shipping our own crt1 binary/sources, we make a copy of the appropriate crt1.o at build time, and modify its symbol table in place. This is unproblematic as long as we keep the same length for the wrapper function name, as the symbol names are just entries in the global string table of the object file. The result is that for the regular Qt use-case the user won't see any changes to their main function, and we have more control over the startup sequence. For the hybrid use-case, we no longer rely on the fragile solution of having our back-up 'main' symbol in a single translation unit, which would break eg with --load_all, and we don't need to provide a dummy 'qt_user_main' symbol. OSX 10.8 and iOS 6.0 introduced a new load command called LC_MAIN, which places the state setup in the shared dyld, and then just calls main() directly. Once we bump the minimum deployment target to iOS 6.0 we can start using this loader instead of LC_UNIXTHREAD, but for now we force the classic loader using the -no_new_main flag. There's also a bug in the ld64 linker provided by the current Xcode toolchains that results in the -e linker flag (to set the entry point) having no effect, but hopefully this bug has been fixed (or Apple has switched to the LLVM lld linker) by the time we bump our deployment target. Change-Id: Ie0ba869c13ddc5277dc95c539aebaeb60e949dc2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Guard against this and self being deleted when using dispatch_asyncTor Arne Vestbø2013-09-112-8/+18
| | | | | | | | | | | | | | | | When the QIOSApplicationState object owned by the platform integration was deleted we would deallocate QIOSApplicationStateListener, but would then get a callback on the main queue later on where we would reference the now invalid 'this' variable. By moving the dispatch_async call to QIOSApplicationStateListener and using 'self' we ensure that the listener is retained for as long as the block is valid. This opens us up for receiving application state callbacks after QCoreApplication has been deleted, so we need to guard against that. Change-Id: I2ac14d28d72fd79764e12b6657234b54d846cb79 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix moc-crash when compiling QtScript on Windows.Friedemann Kleint2013-09-111-8/+7
| | | | | | | @file-arguments were not parsed correctly. Change-Id: I10dc7ebcd7c9eedb332c7c350aa06c7ac9c2e8b1 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add a convenient way to get a type-erased smart pointer from a QVariant.Stephen Kelly2013-09-114-0/+142
| | | | | | | | | | | | Any known smart pointer in a QVariant can be handled in this way. The metatype system can be informed of new smart pointer types using an existing macro which is now documented. This is very similar to the existing infrastructure for containers. Change-Id: Iac4f9fabbc5a0626c04e1185d51d720b8b54603d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove qSort usages from QtConcurrentGiuseppe D'Angelo2013-09-111-2/+3
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I07a8b13f75eb789c45a7c2ef11c0dc15d9fdf8f6 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove qSort usages from QtTestlibGiuseppe D'Angelo2013-09-111-1/+2
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I383d13f76eceae025daab5242f433f694c0149cd Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Add a dependency to qtdoc for qmake manualTopi Reinio2013-09-111-0/+1
| | | | | | | | | | qmake manual needs to be able to link to pages in qtdoc module, for example, to information about Third Party Libraries. Change-Id: I6ccaa0c3aecc54bd5d76c6b1573c797423048207 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Remove qSort from QVariantAnimationGiuseppe D'Angelo2013-09-111-1/+1
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: Ife76c249eb950e976c626acebbe00372ffc70df9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove qSort usages from statemachinesGiuseppe D'Angelo2013-09-111-2/+4
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I6edaafa75348a4e8795c3e29eeea9c45c178b621 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove qCopy from QLinkedList / QVectorGiuseppe D'Angelo2013-09-112-4/+6
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I5f7c2a6b3588a07113061c018e2870f476bea5a7 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* New QStringRef methods.Jędrzej Nowacki2013-09-113-1/+218
| | | | | | | New functions left, right, mid were missing in the api. Change-Id: I3590a84431555d009d5012b204c111385bdceed3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QUrl: ensure that setPath("//path") doesn't lead to scheme://pathDavid Faure2013-09-112-1/+11
| | | | | | | | | | | | | which would interpret 'path' as a hostname. The check is in the public setPath so that the internal one can still support parsing URLs such as ftp://ftp.example.com//path. [ChangeLog][Important Behavior Changes][QUrl and QUrlQuery]QUrl now normalizes the path given in setPath, removing ./ and ../ and duplicate slashes. Change-Id: I05ccd8a1d813de45e460384239c059418a8e6a08 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add a simple test for QVariant carrying a QSharedPointer<QObject>Thiago Macieira2013-09-111-0/+36
| | | | | Change-Id: Ibe17355c7ed8d4af7fda6261d72cfd64779471a7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-1045-540/+984
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-0745-540/+984
| |\ | | | | | | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| | * Forward QGraphicsView::mouseDoubleClickEventMarcel Krems2013-09-062-5/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do the same as in mousePressEvent. Otherwise it is not possible to handle the event in one of the graphics views parents. Task-number: QTBUG-8061 Change-Id: I67c7635361a9ed595c513c28ea016e6253fa2101 Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
| | * Compile in strict-iterator mode under MSVCThiago Macieira2013-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSVC doesn't like operator->() returning a pointer to non-aggregate. So we must make sure that the expanded code does not try to call it by doing: abegin->~T(); Instead, we make an implicit call to operator T*() with that static_cast<T* >. If abegin is a non-strict iterator, it's already a T*, so the static_cast is a no-op. qvector.h(645) : error C2839: invalid return type 'int *' for overloaded 'operator ->' Change-Id: I06f983bab7677cb60ef3913cdce349e26896bfb6 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * Fix usr-move workaround in the presence of multi-arch.Stephen Kelly2013-09-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cmake directory may not be $PREFIX/lib/cmake, but instead $PREFIX/lib/<arch>/cmake. Getting the PATH of such a directory will not lead us to $PREFIX/, but to $PREFIX/lib. Use a relative calculation instead. Task-number: QTBUG-33223 Change-Id: Ice4e0f859ab1df238bad4eb942f073e84dd86cc3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Add source directories to include paths if needed.Stephen Kelly2013-09-052-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-33145 Change-Id: I555064cd92691459222463df9917f8222e31323b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Center the QColumnView on-screen, in case that helps avoid the test failure.Stephen Kelly2013-09-051-0/+8
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-32927 Change-Id: Icf0301d583b2ca6e2e099a19eb1f91feac1fb975 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * the condition for building the x11 offscreen plugin is ... having xlibOswald Buddenhagen2013-09-051-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-33240 Change-Id: Idc96239b0bcbe98d1519c239600aebcda42e8818 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * build glxconvenience also without XrenderOswald Buddenhagen2013-09-051-2/+3
| | | | | | | | | | | | | | | | | | | | | it contains #ifdefs for that, no need to disable it completely. Change-Id: I4a7d03e09fefded966e2c3fec58a470b4f1d3300 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | * Cocoa: Fix NSMenu popup coordinatesGabriel de Dietrich2013-09-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Those should be in window coordinates (or rather, its content view) not view coordinates. Task-number: QTBUG-32826 Change-Id: I52dddeccf17b359163ad477ce4299b934633b4fa Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Cocoa: Unregister view from window's notifications onlyGabriel de Dietrich2013-09-042-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the view will miss its own frame change notifications. And we must unregister from all the notifications during dealloc. This would also reveal a bug where we would expose an NSView before its super view is visible, leading to those "invalid drawable" warnings when using QQuickViews. Therefore, we add this extra check in QCocoaWindow::exposeWindow(). Task-number: QTBUG-32826 Change-Id: I69018cb6f199b242768d114b2aa34c7f2d243196 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Fix event delivery for apps with native widgets.Morten Johan Sørvig2013-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Native widgets, which have a NSView but not a NSWindow, must be created in the hidden state to prevent Cocoa from selecting them for event delivery. Change-Id: I741e52729047ad4e03959f2244abe5b14b5df46b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>