summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix some typosSergio Ahumada2012-12-211-1/+1
| | | | | Change-Id: I4e8d9bd8ea66ec810e4f1fbfd8ddbf25c4b3d980 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Delete the QSlotObject when disconnect()ingGiuseppe D'Angelo2012-12-171-0/+6
| | | | | | | | | | | | | | | When disconnect()ing through a QMetaObject::Connection, if the QObjectPrivate::Connection contains a slot object, deref it, so that it will be destroyed before the next run of cleanConnectionList. Previously, a copy of the functor passed to connect() was kept until QObjectPrivate::cleanConnectionLists was called (by adding a new signal, or the sender was destroyed), even after a successful call to disconnect(). That is, we were keeping that copy allocated without any good reason. Change-Id: Ie6074ea797df1611cb995dec07c5b5a742360833 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Reset the QMetaObject::Connection dptr when disconnect()ingGiuseppe D'Angelo2012-12-171-0/+4
| | | | | | | | | | | | The QObjectPrivate::Connection refcount was not decreased when disconnect()ing, therefore it was kept alive by the owning QMetaObject::Connection object. This removes a leak in case the QMetaObject::Connection survives the sender object, after a successful disconnect(). Change-Id: Ie2ea59b269a0e589ae23c1457df7533be77c0797 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Docs: Fix referencesChristian Stenger2012-12-132-6/+6
| | | | | Change-Id: I48173186afb874d307010f4f303d0e4f97ec0287 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QMetaType: remember whether a type was registered with Q_DECLARE_METATYPEMarc Mutz2012-12-111-2/+15
| | | | | | | | | | | | | | | | | | | | There are two ways to register a type: using Q_DECLARE_METATYPE(T) and using qRegisterMetaType<T>("T"). Doing one thing in one translation unit and another thing in another TU constitutes an ODR violation, because the value of QMetaTypeId<T>::Defined will differ in the two TUs. By adding the information whether a type was declared with Q_DECLARE_METATYPE to the typeFlags(), such a use will trigger the existing binary-incompatibility failure that checks for equality of the incoming type flags with the stored ones (if any). I had to encode the type as a defaulted function argument in order to avoid the linker merging instantiations of the function templates and therefore rendering the detection moot. Change-Id: I82017caf300458b411cc8ac2f6653536fac64117 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QtBase: Doc: Replacing link with snippet in QTranslator.David Schulz2012-12-051-3/+3
| | | | | | | | Because the linguist examples are moved to qttools module, a link to the hellotr example broke. Change-Id: I2aeefc143578618396f5be38ed1d52afdd1f7436 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Remove QUUID_STRING from qfeatures.{h,txt}Tasuku Suzuki2012-12-051-4/+0
| | | | | | | It is too specific and relatively small Change-Id: I55ec15ecaac0692741996a5c15a111db696490cf Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix connecting to a functor with 3 argumentsOlivier Goffart2012-11-301-1/+1
| | | | | | | Task-number: QTBUG-28285 Change-Id: I07bd870c093482035728aa783d0ecbc8aa8670d2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow qmljsdebugger argument and value to be separated by a spaceAurélien Gâteau2012-11-261-0/+3
| | | | | | | | | | This change makes it possible to use the QML JS debugger with KDE applications. Change-Id: Id5838fa34dcb8b54127abc6da6fe7c2e9a5a1c2e Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Change contact-us from Nokia to DigiaSergio Ahumada2012-11-261-5/+5
| | | | | Change-Id: I0d94b66d802c3899009dde1e570f195aadd861dc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Move isBuiltinType() to namespace QtPrivate and export it.Friedemann Kleint2012-11-262-5/+9
| | | | | | | | | | | There is currently a symbol clash with a duplicated isBuiltinType() in ActiveQt's dumpcpp-tool, which breaks static building. Reuse the function. Task-number: QTBUG-28131 Change-Id: I4985e8405924754aa613311ca3f06d6ba29758b8 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Cleanup QCoreApplication::Type letfover docsJ-P Nurmi2012-11-261-8/+0
| | | | | | | | The enum was removed in 553e21. Change-Id: I29bf049010b0424af3ca00095d8a36d53a7538e4 Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com> Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
* Fix QVariant streaming in Qt3 compatibility mode.Jędrzej Nowacki2012-11-241-3/+3
| | | | | | Task-number: QTBUG-27700 Change-Id: I0408293e43c3330dbc4746198a19709e795f552a Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove QApplication::type() and make QCoreApplication::Type internalJ-P Nurmi2012-11-232-6/+5
| | | | | | | | | | | | These Qt3 legacy application types do not match the application types available in Qt5. Thus, the decision was to kill the confusing and mostly useless type enum. Use for example qobject_cast instead to find out the application type. Task-number: QTBUG-28093 Change-Id: Ia8cf7c3ea98a3cea27f74760d62e519ea10bce9f Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix outdated comment in kernel/qtranslator_p.h.hjk2012-11-231-2/+2
| | | | | Change-Id: I0e7cc1686c5bcce611e353987e41b4dae7af5c31 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Emit destroyed() signal before children get deletedLars Knoll2012-11-231-1/+1
| | | | | | | | | | | Make sure we always emit the destroyed() signal before we delete our children. This wasn't working correctly for QWidget based classes, as the QWidget destructor deletes all children itself. Task-number: QTBUG-24672 Change-Id: Iecdff3489196271177edfeba1c4a2c5800e255af Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Revise QObject::connect documentation.Mitch Curtis2012-11-231-4/+5
| | | | | | Change-Id: I07d593b6b2c3d5c8843212d5a888525ac29ca1b0 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Use QT_STRINGIFY in qobjectdefs.hOlivier Goffart2012-11-221-3/+1
| | | | | | | | | | | Since it is declared in qglobal.h, we do not need to re-implement the hack here. QTOSTRING was only defined if QT_NO_META_MACROS was defined, so practically not safe to use in other places. Change-Id: Ie5b07d0fa7537ba79380b882a4c822583ee5635e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* BlackBerry: Restore proper BPS channel in event dispatcherBernd Weimer2012-11-211-8/+36
| | | | | | | | | | This change ensures that BPS events are delivered to the proper channel even if the application code would change the channel. Change-Id: Id44efbdd99350c639e391161dd89b8d422c4b330 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Jeff Kehres <jkehres@rim.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Add a QEnterEvent containing the mouse position.Friedemann Kleint2012-11-101-1/+1
| | | | | | | | | | | | | Enter handling requires knowledge of the mouse position. Extend the enter handling of QWindowSystemInterface to receive the position (implemented for Windows, XCB and Mac), passing it on to QEnterEvent. Dispatch QEnterEvent from widgets code. Change-Id: I49c07d2b1f46310c877017dd55d4cd7d636bdbce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Cleanup old signal handler mechanismsRafael Roquetto2012-11-083-67/+0
| | | | | | | | | | Remove watchUnixSignal(), unixSignal() and associated code. These are relics which were being used by QWS to detect virtual console switching. Currently they are not being used at all. The recommended way to watch for Unix signals in Qt is http://doc-snapshot.qt-project.org/5.0/unix-signals.html. Change-Id: Id34207cb8853442302a45b2816356da0f973ebb1 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Allow connect to functors with less parameters than the signalOlivier Goffart2012-11-061-1/+19
| | | | | | | | | | | | | | | | | | | | Before, the functor slot (or lambda expression) had to have the same amount of arguments as the signal. This shown to be a big problem to be able to connect to signals that had a QPrivateSlot. This implementation use the type of the operator() of the functor to know how many arguments we have. As a bonus, we also can check the arguments in a static assert. The test comes from https://codereview.qt-project.org/#change,38703 But this patch also works without variadic template If the compiler does not support decltype, we workaround the lack of it by using another level of indirection. Change-Id: I9850b43e8caf77356a2ec3f4c0b0ed532d96029e Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix connection to const slots (or from const signals)Olivier Goffart2012-11-061-0/+121
| | | | | | | | Pointer to const member function have a different signature, and hence need their own traits code. Change-Id: Ie4b2434a412f412444fb07ef1388a37cab105ecd Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QTranslator: Use resource memory instead of copying itThomas McGuire2012-11-021-35/+66
| | | | | | | | | Previously, translations in resource files were loaded through QFile and the data was copied. Now, simply use the resource memory in-place. Change-Id: I55a06c1e7bb15c169cc69b908b3021136beac9d2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* don't return false from removeTranslator() just because of shutting downOswald Buddenhagen2012-11-021-3/+5
| | | | | | | | the condition is supposed to suppress the event emission, not to trash the return value. Change-Id: I3e327ceedb909ac29ba975c49b0f039b50eb4ee1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Blackberry: Fix QCoreApplication::applicationFilePath() performance.Sergio Martins2012-11-021-5/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | Listing all files with QDir is slow. Instead, use argv[0] for zygotized apps and _cmdname() for non-zygotized. Apps run through the terminal will fall in the zygotized case, which is ok. Note about zygotized apps: Zygotized apps don't have an executable, they live in a shared object file. These apps are run through a deamon that forks and dlopens() the shared object ( for performance reasons ). For this reason we can't use _cmdname(), since it just contains the the file path of the daemon. On the other hand, non-zygotized apps have a bogus argv[0] when run through the navigator ( command line is fine ). Change-Id: I9953e8fa05c9fb11c33b3a38ebab00fe33ba4c44 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Define additional math.h constants if not already definedJonathan Liu2012-10-301-0/+48
| | | | | | | | | | | | The M_E, M_PI_2, etc. math.h constants are not defined with MinGW-w64 GCC when compiling with -std=c++11. Task-number: QTBUG-27561 Change-Id: I2267c170dd3788abc9c37425a9be514bbae51f5a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Alexey Pavlov <alexpux@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Do the actual removal of the Soft Keys API and related codeJan Arve Saether2012-10-292-3/+0
| | | | | | | | | | | | | | | | | | | In addition to the actual removal of the softkeys API in QAction, this commit removes some enums related to the softkeys feature: Qt::WA_MergeSoftkeys Qt::WA_MergeSoftkeysRecursively It also removes some "zombie" enums: Qt::WindowSoftkeysVisibleHint = 0x40000000, Qt::WindowSoftkeysRespondHint = 0x80000000, (The only implementation that used these were removed when qapplication_s60.cpp and qwidget_s60.cpp were removed.) Change-Id: Ib6fc6d543def4757383d5f19256199d9d190c614 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Remove some dead code in switch statementsSergio Ahumada2012-10-291-3/+0
| | | | | | | | | | Following the Code Style described in http://qt-project.org/wiki/Qt_Coding_Style#e289ee44592e9c32d4212069f0806daf There is no need for a 'break' after a 'return'. Change-Id: I1eca350391a7e4e14e504d60b24b69982cc5ac47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc fixes for qcoreapplication.Frederik Gladhorn2012-10-272-8/+26
| | | | | | Change-Id: I58806424b37ebf7bdf9b7f1ead9953b605332361 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Removed usage of pipe in Blackberry event dispatcherBernd Weimer2012-10-264-42/+78
| | | | | | | | | | | | Using a pipe for thread wake-ups is inefficient and can introduce significant latency. Replaced the pipe by directly sending a BPS event. Refactored the wake-up code in the private class of the UNIX event dispatcher. Change-Id: Ic073b0b56c3cbf8327fc6bc3c37132cc3583ef86 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Remove stale QT_MODULE() usage casesKonstantin Ritt2012-10-251-2/+0
| | | | | | | As of Qt5, this macro is defined to be empty; simply get rid of these leftovers. Change-Id: I167ccb4c9e92ec9b5e4faeb02bf9c5ef5d982b50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Core/kernel: Make some signals private.Stephen Kelly2012-10-2511-12/+36
| | | | | | | | | | | | | | | | | | | | | | There are more opportunities in QtCore and the rest of Qt to make signals private instead of public. This is a test-dart to see if there is any reason not to do this. It would be nice to make QObject::destroyed private, but as it has a default argument it would be source incompatible to anyone connecting to the SIGNAL(destroyed()) instead of SIGNAL(destroyed(QObject*)). Currently the function-pointer-based connect syntax does not accept a functor (or lambda) with a different number of arguments than the signal. Olivier says a fix for that might come in 5.1, but for now the qfiledialog2 test is changed to not use that anymore. Also, the function pointer for a private signal can not be assigned to a local variable, so the qmetamethod test is changed to not do so anymore. Change-Id: Iaf776b822f9ba364f2c184df0c6b23811da56e44 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Blackberry: Fix applicationFilePath() for unpackaged executablesThomas McGuire2012-10-231-2/+0
| | | | | | | | | | | Not all executables originate from a BAR package, for example unit tests. Make those use the fallback code for finding the application file path. Change-Id: I5603f329bbe74e37d319ddd190f72bc6f64e1a5c Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix for slowness of touch move eventsBernd Weimer2012-10-191-58/+46
| | | | | | | | | | In the event dispatcher native events will be processed in a tight loop to drain the queue. IO events and timers will be postponed. Change-Id: Ic2c06ed182027289eb5e7042fbae99efbd01ea27 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Add parameter documentation.Frederik Gladhorn2012-10-161-1/+1
| | | | | Change-Id: I8ce85bbb286c3cb844ef600daa5e99432ee55b74 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Review of documentation.Michele Caini2012-10-161-1/+9
| | | | | | | | Documentation has been updated, changes apply to Qt5 as well as Qt4. Change-Id: I692869971bafffabbb9c323dc031f6d984c1adb9 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Re-revert "Delay creation of the process manager"Thiago Macieira2012-10-153-15/+6
| | | | | | | | | | | | | | | This reverts commit daba2c507ad42c66dafa6a29cffa94e9641e0c58, re-applying commit d9c06bf25210b3d0b31ee6126e57bcb82c292da1, because the change was accidentally brought back in commit eae8fb85997d82ecec0743ba3e470681129bff41. There's a potential deadlock when a QProcess is created while a QCoreApplication is instantiated but never executed, or if the main thread waits() for the child thread. Task-number: QTBUG-27260 Change-Id: I9e0fdc0341b3063de90979377bac35f2a827b260 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Blackberry: Populating the QCoreApplicationDataFabian Bumberger2012-10-131-0/+47
| | | | | | Change-Id: I7adb2e207cab89fbad9458cd0bcb856ecd2288f0 Reviewed-by: Peter Hartmann <phartmann@rim.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Blackberry: Emit aboutToBlock() and awake() correctly in the dispatcherThomas McGuire2012-10-131-7/+30
| | | | | | | | | | | On Blackberry, select() can actually temporarily wake up to process mative BPS events. Make sure to emit the aboutToBlock() and awake() signals in this situation accordingly. Change-Id: Ib324e702feb1cfebdc6926f80af9c92f291a2b94 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Delete the QVariant ctors taking global Qt enum values.Stephen Kelly2012-10-101-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They have unexpected results in Qt 5 (the Qt::GlobalColor one works as expected in Qt 4, but was removed in Qt 5): QVariant v = QVariant(Qt::red); qDebug() << v; // QVariant(int, 7) v = Qt::red; qDebug() << v; // QVariant(int, 7) The correct way is to use: QVariant v = QVariant::fromValue(QColor(Qt::red)); The deleted constructors are the ones for which there is a class with an implicit constructor taking the enum, and that class is a built-in metatype. QLocale::Language and QKeySequence::StandardKey would also fit the description, but I can't include the header for QKeySequence as it is in QtGui, and I don't want to include the qlocale header in qvariant.h. Putting a QLocale::Language is probably very uncommon anyway. The QTextFormat test is doing the wrong thing, but the result isn't being tested. Added new tests which fail before the patch. Change-Id: Ia38a0784990f4d40ff7457a86daf58aabd4964eb Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Add QEvent::StyleAnimationUpdate: style animation target should updateJ-P Nurmi2012-10-092-0/+3
| | | | | | | | | The event will be sent from the upcoming style animations. This change merely introduces the new event type and makes both QWidget and QGraphicsWidget call update() upon receiving the event. Change-Id: I69bb4d05bacb22f7e3a2512cae68848801e4f4d7 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* QNX: Fix input lagThomas McGuire2012-10-081-0/+8
| | | | | | | | We were breaking out of select() too early with a timeout of -1. Change-Id: Icd47b307a6f3a9d11c862722759e24f560e72e9e Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Remove workaround for BPS bugThomas McGuire2012-10-081-25/+6
| | | | | | | | This BPS bug has been fixed with the latest BB10 release. Change-Id: I07f86f2d18b1e04f48b95a710d57864c69726c42 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Remove the busy loop work around for bps ignoring timeout bugSean Harmer2012-10-081-21/+41
| | | | | | | | This commit should now correctly address the throughput issue too. Change-Id: Ie75d0e6f44500f2720b7af787a58ed6c0a3c8c9d Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Introducing the PlatformPanel event type.Sergio Martins2012-10-032-0/+3
| | | | | | | | | | | | | | | | | This event can be used by any platform plugin to implement special application panels/overlayed menus. Currently used by QNX only. This replaces sending fake Qt::Key_Menu presses in the QNX plugin. Qt::Key_Menu is already used when invoking context menus with the keyboard. Change-Id: I9c8f1743fd147a07c11883323800017376915ae1 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Make documentation of QVariant::isNull more explicit.Jędrzej Nowacki2012-09-291-1/+11
| | | | | | Task-number: QTBUG-22933 Change-Id: I1d8d3fc778ba00bcad11caaaf8af7d87186f18e8 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Remove unused qMetaType helpers.Jędrzej Nowacki2012-09-271-54/+0
| | | | | | | | | These function were replaced by QMetaTypeFunctionHelper class that is a bit more flexible. Change-Id: I5aee2089f543b6e05c4d65a688fa8ca721f8abe0 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Do not reference to the QAbstractNativeEventFilter documentationLaszlo Papp2012-09-271-1/+1
| | | | | | | | | | | | | | | | 1) It is not strictly necessary since the method argument type is already designed for clickable here. Thereby, it is just a duplication. 2) It is not done inside the removeNativeEventFilter, so it is not consistent now. 3) Similarly, the following documentation in 4.8 did not have another explicit reference to the documentation of the EventFilter typedef: EventFilter QCoreApplication::setEventFilter ( EventFilter filter ) Change-Id: I45fd42a03b16fd173fca9d734a7771e804d577d8 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: David Faure <faure@kde.org>
* QMetaType build fix with Q_NO_CURSOR and friends.Jędrzej Nowacki2012-09-273-17/+79
| | | | | | | | | | | | QMetaType has a way to "switch off" some types from the build. QtMetaTypePrivate::TypeDefinition<T>::IsAvailable is defined as false for all unaccessible types. Sadly that information was never used by gui and widget handlers. The patch implements it. Change-Id: Ie5835be4c88cfbbca8a4e9199e31ddfc20cae190 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jing Bai <jing.bai@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>