qtdeclarative/src/imports/testlib uses the exported variable
QTest::printAvailableFunctions.
As it is a plugin, it has only QT_DLL defined and not QT_SHARED
and thus sees Q_TESTLIB_EXPORT=''.
Change-Id: I34646e920a812fb907b60e0c4c9399499d689a01
Reviewed-on: http://codereview.qt-project.org/5990
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Charles Yin <charles.yin@nokia.com>
The implementation was just missing to call the proper APIs.
Merge-request: 65
Change-Id: I52f7825360bf55d37762421562484af684bf2dc8
Reviewed-on: http://codereview.qt-project.org/5986
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Setting QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM
prevents the process from having an dock icon and
taking focus.
Change-Id: Id127967d8ec1dadda790128f36a7c1f50d581433
Reviewed-on: http://codereview.qt-project.org/5968
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
Include Xlib.h for XInitThreads and add the SUPPORT_X11 macro
to DEFINES for Harmattan's EGL library.
Change-Id: I34ad284fe5b671f3924e406a18b8c5520df8346a
Reviewed-on: http://codereview.qt-project.org/5935
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Use RGB16 as image format on 16-bpp displays.
Based on patch by Jocelyn
Change-Id: Ic91ab33132769da59a2097abb43b64a2d09c0009
Reviewed-on: http://codereview.qt-project.org/5971
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Functions that modify the d-pointer must detach or otherwise take
measures to not modify the const, read-only shared_null.
The setSharable(bool) function takes care to detach when setting
sharable to false, but should avoid setting the sharable data member
unless d is not the shared null.
Similarly, QMap<Key, T>::setInsertInOrder() needs to detach if it is
shared with the shared_null (the logic has been updated to be the same
as setSharable()).
Change-Id: Ida5cb9818b86695f1b9f0264418b955c56424898
Reviewed-on: http://codereview.qt-project.org/5929
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Late follow up of fc9a648dc0 that
tries to make plugins indifferent of where the source is located
in relation to qtbase.
Change-Id: I9a5944fe737056216c7174d8d9151c8d0e776a22
Merge-request: 64
Reviewed-on: http://codereview.qt-project.org/5933
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Improved fix from e327401743dba9112faca77fd764869709ae4367 to add the
necessary includes in the header file, where the types are also needed.
The same header file is also included from the xcb plugin.
Change-Id: I52a891be1ecc67d49a088a4db698270a06db6b54
Reviewed-on: http://codereview.qt-project.org/5932
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Include X11 headers to get VisualID and other "types".
Change-Id: Idbb323329d346726b98312b1e02c9b199f2b7a65
Reviewed-on: http://codereview.qt-project.org/5928
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Clear up coordinate system confusion. Also change
QApplicationPrivate::pickMouseReceiver to indicate
that, yes, it does modify the 3rd argument in
addition to returning the mouse receiver widget.
Change-Id: If2c44eff65aedfdc78c6da1728f31d6e2db71f9d
Reviewed-on: http://codereview.qt-project.org/5919
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
The wayland platform plugin now lives in its own Qt module, together with
the qtcompositor library.
Change-Id: I4e85292cf41da4ef021ea832545ac37f5ed4e991
Reviewed-on: http://codereview.qt-project.org/5836
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Andy Nichols
Currently tst_QPixmap::testMetrics can fail if the native
display resolution is below 32 bpp. Upate the documentation,
use the primary screen to find the depth.
Tested-on: XCB and directFB plugin.
Change-Id: I29c08db25d8f6bcee01f9315ed90685fef668e0c
Merge-request: 61
Reviewed-on: http://codereview.qt-project.org/5917
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
QPixmapCache has until now refused to throw out shared pixmaps, i.e.
ones that still have shallow copies lying around. This leads to problems
when someone inserts two shallow copies using different keys, causing
the cache itself containing multiple shallow copies and thus forever
refusing to throw out those entries.
It's rather easy for this to accidentally happen in a user application
since QPixmap::load() or QPixmap(const QString &fileName, ...)
automatically cache the pixmap in the QPixmapCache, thus if the user
then calls QPixmapCache::insert() on the same pixmap or a shallow copy
it is locked in the QPixmapCache forever.
The only reason for not throwing out a pixmap that's shared would be to
prevent re-loading a pixmap from file when a user has a direct reference
to it in his application, but in that case the user is unlikely to
re-load the pixmap from file in any case. Therefore it seems the best
fix is to get rid of this limitation.
Task-number: QTBUG-21359
Reviewed-by: John Brooks
Reviewed-by: Olivier Goffart
(cherry picked from commit 7ab0bed3a56d46c386e65abc381264c57137cb43)
Change-Id: I46dce19227e19a25e0287cf7372177430da15a66
Reviewed-on: http://codereview.qt-project.org/4563
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Simplify the implementation of childAt.
Using rect(child) depends on the virtual children.
For QAccessibleMenuBar the implementation would assert.
Change-Id: I6ef018a063beee67d7436dff148e8b0219ff2a3c
Reviewed-on: http://codereview.qt-project.org/5742
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
All documented classes under src/widgets should now be
under the QtWidgets module in the documentation. The
QtPrintSupport classes should now be under the QtPrintSupport
module in the documentation.
Change-Id: I236b15443b8b93a61578a1d10f52b64dba938f29
Reviewed-on: http://codereview.qt-project.org/5520
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
This could be the basis for a "english spelling
for norwegians" course.
Change-Id: I1d6de11b6673ec0a8ba3c2ff12dd8472fb467703
Reviewed-on: http://codereview.qt-project.org/5691
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Set the geomeotry on the platform window on resize. (There
used to be a callback form the QWindow earlier.)
Change-Id: I2298a03d1e015279b28a02da9f05f90f25148efb
Reviewed-on: http://codereview.qt-project.org/5834
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
queryAccessibleInterface will return 0 if the object is a QWindow, so
it would never find the focus child.
Change-Id: Ib5bb6a0e4ffbf1b8491b71d1ba5a039e7a6584e0
Reviewed-on: http://codereview.qt-project.org/5842
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Since we added QAI::window() we now have a more reliable way of
getting hold of a HWND.
Change-Id: I330ecee67f041d5b204ef4bc1401ce4cc76de2b7
Reviewed-on: http://codereview.qt-project.org/5840
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Most of these changes are search-and-replace of d->ref ==, d->ref !=
and d->ref =.
The QBasicAtomicPointer in QObjectPrivate::Connection didn't need to
be basic, so I made it QAtomicPointer.
Change-Id: Ie3271abd1728af599f9ab17c6f4868e475f17bb6
Reviewed-on: http://codereview.qt-project.org/5030
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This should be replaced later with proper loadAcquire and storeRelease
functions in the architectures that require them. The code right now
is enough for x86, x86-64 and IA-64. It's probably not good for ARM
and MIPS.
Change-Id: Iaa28a18cad64772539662439c2c14690ec26940f
Reviewed-on: http://codereview.qt-project.org/5029
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The only place that now still knows about it is moc,
so it can still parse old headers.
Change-Id: Iafec080f99c67560974e9ebc0cbfb27d9a4b2d6f
Reviewed-on: http://codereview.qt-project.org/5755
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Using qDebug() instead of printf and friends allows clients to install a
message handler to supress the output.
The remaining printfs in the code are all guarded by custom debug ifdefs.
Change-Id: I38edc7452184783152f26b4dde6342c3bb9ef799
Reviewed-on: http://codereview.qt-project.org/5875
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
These are also obsolete since quite some time.
Change-Id: Id04543ff4a4464922a204f59989abaeedb18df14
Reviewed-on: http://codereview.qt-project.org/5756
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Moved most stuff to gui\accessible
* Moved widget-specific stuff to widgets\accessible
* Moved platform-specific code to either the bridge plugin (this was already the case)
or to the platform plugin.
* Added several classes and functions. These have not yet gone through an API
review. The plan is to do that in a later commit.
Classes:
- QPlatformAccessibility
- QWindowsAccessibility
Functions:
- QWindow *QAccessibleInterface::window();
- QPlatformAccessibility *QPlatformIntegration::accessibility()
* The bridge code can now either be a plugin or integrated into the platform plugin
* Mac accessibility is left out for now. Unix "should still work" (tm). These platforms
should be fixed soon.
Change-Id: Ib49ffa73b647ee0af90864544c2769440157f562
Reviewed-on: http://codereview.qt-project.org/5330
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
This function was deprecated in Qt4 and has
been replaced by isNavigationBarVisible.
Same for the setter.
Change-Id: Ifdcbaa2db0d4d8d475d959a6409347fa19d443a9
Reviewed-on: http://codereview.qt-project.org/5788
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Properly propagate the language change event
to all widgets.
Change-Id: I6650205abe1acc6979e28ca5c5dde5ae33a406b9
Reviewed-on: http://codereview.qt-project.org/5758
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
The class has been deprecated since Qt 4.0, but
couldn't be removed as QDropEvent inherited from
it.
Change-Id: I9caa19b30977a319e79255900dee8b2425783f46
Reviewed-on: http://codereview.qt-project.org/5754
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
This is needed by scene graph when embedding text objects in
RTL text. Since the number of flags required for
QGlyphRun is increasing, I've also refactored the
underline/overline/strikethrough settings to use a common
QFlags interface.
Task-number: QTBUG-20917
Change-Id: I070649c014f4a51cfd66a9579d2d221a8f22302f
Reviewed-on: http://codereview.qt-project.org/5739
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Properly support application override cursors and move
the documentation into the proper place.
Change-Id: I0198b38e0d2e7b10f0fcae342b468e7f8341bf02
Reviewed-on: http://codereview.qt-project.org/5562
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Including most of stuff excluding mouse event handling
which differs between the classes.
Change-Id: Iff1e56b9c50c3f84de2d1c43a3416a1952197a17
Reviewed-on: http://codereview.qt-project.org/5640
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QInputContext is migrated to QInputPanel, which allows only one
instance.
Change-Id: I4912164790d5a6bdff41e11cbe4bc4e2f9f111ec
Reviewed-on: http://codereview.qt-project.org/5641
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This change makes QTest::qWarn() consistent with similar testlib
functions, which take __FILE__ and __LINE__.
Change-Id: I12977cb30672899ab38877b4a656f0cc0c7ea02c
Reviewed-on: http://codereview.qt-project.org/3559
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Before the text edit tried to represent each line of text as a child
of itself. With the editable text interface this is no longer needed.
Change-Id: If9927e522f955e863e91fd0a529a1ce6fafaddc3
Reviewed-on: http://codereview.qt-project.org/5624
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
ToolButtons now consist of only one button.
They implement the action interface so that the menu
can be opened programmatically and the button clicked/checked.
The menu shows in the hierarchy as child of the button.
Change-Id: Ifebe5e19b4c55a9db4fb688274da906293566cc2
Reviewed-on: http://codereview.qt-project.org/5536
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Correctly use the Qt::Drag* cursor shapes
for drags. Still doesn't work as
QGuiApp::setOverrideCursor needs an implementation.
Change-Id: I60b6a647be03f3700408ee8afcfa631a18e2bcaf
Reviewed-on: http://codereview.qt-project.org/5559
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Correctly transform the coordinates when mapping from parent to
child in the window hierarchy. Also avoid a second roundtrip
to the xserver querying information that we already have.
Change-Id: Ia13f1c7ee20c60df283562daa4869d6db30a37e9
Reviewed-on: http://codereview.qt-project.org/5558
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Handle event can cause accesses to the event queue from
other places (e.g. through checkEvent()). Unlock the
reader to avoid deadlocks.
Change-Id: I1e5a79ce556920127848fccc3387d711c7cd32c2
Reviewed-on: http://codereview.qt-project.org/5557
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Always call finishChange in setText, not just when QT_NO_ACCESSIBILITY
is undefined, otherwise lots of things don't get updated.
Task-number: QTBUG-21686
Change-Id: I58b320814fb379b462e39b7e675fe6e9fc41ba8a
Reviewed-on: http://codereview.qt-project.org/5594
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This adds the value interface and removes the children of the dial.
Change-Id: I47eac77c01dce36db077f553054ef37353242f77
Reviewed-on: http://codereview.qt-project.org/4821
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Dealt with all necessary changes that are marked in the code: removing
methods left only for binary compatibility with earlier Qt 4 versions
and other methods marked for removal.
Change-Id: I47109ccd9ed40addc345416be9e172570723955e
Reviewed-on: http://codereview.qt-project.org/4534
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
this makes QCoreApplication::translate() consistent with
QTranslator::translate(), and is semantically cleaner.
users wishing to shrink their QM files can do that properly by using
lrelease -removeidentical.
Change-Id: I2b367314cfb985c3d130c7c6347e2742311f497a
Reviewed-on: http://codereview.qt-project.org/5165
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
This is a regression caused by 070d9c00. If the defaultFormat
is set to Format_None, we should default to Format_A8 like before
the change.
Change-Id: I8ad07abff96fc1dfa03c0c5b49d13beb36b9de70
Reviewed-on: http://codereview.qt-project.org/5540
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Required to access internals used in the layout process, so that
we can present the layout in the scenegraph. For instance, the
frameBoundingRect() for tables will be the internal bounding rect
of the cells. To avoid regressions, I've added a separate function
for the outer bounding rect. For now, this is private API, but if
it turns out to be useful, the functions can easily be added as
virtual to QAbstractTextDocumentLayout.
Task-number: QTBUG-20917
Change-Id: I04e07d3850b21f9f0704bf8c8a3ffe97ee5c3fda
Reviewed-on: http://codereview.qt-project.org/5539
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Similar to QByteArray and QString, keep the shared_null in shareable
memory and never modify it.
Since QRegion uses the internals of QVector, we need to make sure that
QRegion also never modifies the shared_null.
Change-Id: I809e5873fe414138f97d501e05458b73c04b18fb
Reviewed-on: http://codereview.qt-project.org/4529
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The QBackingStore::sync() call after the first expose when the widget is
un-minimized is discarded due to Qt::WA_Mapped being false. Since there
might be backing store syncs pending on Qt::WA_Mapped being set we
should also call syncBackingStore() when we get the map event.
Change-Id: I762545dc0522a99f0b36ce9a2cd2f45894cb40a5
Reviewed-on: http://codereview.qt-project.org/5377
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Similar to QVector, QByteArray and QString, keep the shared_null in
shareable memory and never modify it.
Change-Id: I062825684b79f2b01ec7ce65e0cf74f417b760b8
Reviewed-on: http://codereview.qt-project.org/4530
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Similar to QMap, QVector, QByteArray and QString, keep the shared_null
in shareable memory and never modify it.
Change-Id: I2b4bb8de564080021043f6ede6c903d567c686cf
Reviewed-on: http://codereview.qt-project.org/4531
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Similar to QList, QMap, QVector, QByteArray and QString, keep the
shared_null in shareable memory and never modify it.
Change-Id: I70b484d528c397a9d205b1418b6dc920c69dc725
Reviewed-on: http://codereview.qt-project.org/4532
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Similar to QLinkedList QList, QMap, QVector, QByteArray and QString,
keep the shared_null in shareable memory and never modify it.
Change-Id: Ia8b72ef0288575bed658153d9d54434580988bda
Reviewed-on: http://codereview.qt-project.org/4533
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
the alternative would be splitting the function into two separate
overloads. that might result in better branch prediction, but will
create a bit more code.
Change-Id: Ia2c685bbb34a9681c71f2249d073dd960368209a
Reviewed-on: http://codereview.qt-project.org/5332
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Add support for test cases which require an event loop, but do not need
GUI up and running. Such cases are best accommodated by code similar to
QTEST_MAIN, but using QCoreApplication instead of QApplication.
Change-Id: I04ce82d26b80a4edeba6bf7604a7f8d974232a11
Merge-request: 919
Reviewed-on: http://codereview.qt-project.org/5427
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
If we have trailing spaces at the end of a line, cursor will disappear
because the position we returned exceeds line end, thus the widget
border. By limiting it within line.width we can make sure it always
visible, which is more consistent to the behavior in common platforms.
Reviewed-by: Eskil
(cherry picked from commit c750afe0e0f043389d30850070889946e4c6e8af)
Change-Id: Ifc60b718369639bbb6f5afb35c29a6eb0dccd219
Reviewed-on: http://codereview.qt-project.org/5458
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
These functions should not take care not to unconditionally set the
capacityReserved private member, since the d may be referencing the
const shared_null or shared_empty which live in read-only memory.
The squeeze() methods check for ref > 1 instead of ref != 1 to prevent
detaching from the shared_null/shared_empty unnecessarily; the
shared_null/shared_empty ref count is -1, meaning squeeze() will never
detach from it.
Change-Id: Id3f1725a6f08b3a462343640a47bbe78f08ca7e7
Rubberstamped-by: Lars Knoll
Reviewed-on: http://codereview.qt-project.org/5454
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QByteArray::squeeze() needs to make sure to detach if the
data is shared, otherwise it would end up crashing when
squeeze() is called on a QByteArray using the shared_null
or shared_empty.
Change-Id: I89c178659d8c7448681304f050fd69e17b2387de
Reviewed-on: http://codereview.qt-project.org/4528
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QWidget's move() sets the position of the window including the window
frame, unlike setGeometry(). There was no equivalent for this in
QWindow, so several QWidget auto-tests were failing. Now we add
setFramePos() to achieve the same purpose in QWindow.
This fixes tst_QWidget::windowState(), which uses move().
Change-Id: I9a3e558bd615a8f0234cc3dd94fbb2bf5ecbc148
Reviewed-on: http://codereview.qt-project.org/5405
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
In QWidget::setWindowState() there was some code to emulate window
states when they're not supported by the backend, by hiding the window
on minimize or using the screen geometry and the frameless window hint
to manually try to make a window fullscreen.
However, some of this code was being run even when the backend does
support setting window states, specifically calling setParent(0) to
force a re-creation of the platform window and calling show(). These led
to the window getting the wrong position after being minimized or
fullscreen and going back to the normal state.
Apart from storing the normal geometry of a widget when going away from
the normal state we shouldn't do any magic when the call to
QPlatformWindow::setWindowState() succeeds.
tst_QWidget::windowState() still fails due to calling move() to set the
position of the widget including the frame, when QWindow currently only
supports setting the position of the widget excluding the frame.
Change-Id: I1c1a337d3c15f14c1c842bd1e347f94e6b67d7eb
Reviewed-on: http://codereview.qt-project.org/5367
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The X server sends a series of expose events, where the count member
specifies how many expose events are remaining in the current series. By
merging them into an expose region we can send a single expose event to
the lighthouse interface.
Change-Id: If73c9972fe02c5e4137e8742aaaf5679ccea5a09
Reviewed-on: http://codereview.qt-project.org/5366
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
It's dangerous to set them as dirty in anticipation of a configure
notify event, as if frameMargins() is called before the event is
received the computed values are bogus.
Change-Id: Ib6db975fba5fcb13a2511e4716cbb5ca79265c34
Reviewed-on: http://codereview.qt-project.org/5365
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
We need to compare against the window's currently known geometry to know
when to send resize and move events. Also make sure at least one resize
event is sent, instead of sending one before each expose.
Change-Id: Id7ebe4c1c0e723af9198c668a0c736d64efdbf3e
Reviewed-on: http://codereview.qt-project.org/5364
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Simplify the combobox implementation by removing child logic.
Instead have an option to open the combobox.
Change-Id: I1bb517d0d064aefa28594b8fa957b8b2c9d48e88
Reviewed-on: http://codereview.qt-project.org/5032
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>