Switch_showText specifies whether the on/off text is shown in the
thumb and Switch_splitTrack specifies whether the track is clipped
underneath the thumb.
Change-Id: I03fc6b799fe714e7b6e604328901c8c5a418ca6e
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Commit ec360d7ad9 made it work for ELF
platforms, Apple platforms and for MSVC, but we apparently forgot it for
MinGW. This patch corrects that mistake.
We won't have the PE-COFF section parser until 5.5, but this will at
least making Qt 5.4-built plugins work on the faster case.
Change-Id: I51b06837dc321eaa4724c9598293cf85570f67fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Calling the function has the same effect as dismissing the keyboard using
the native keyboard dismiss button or the hide-keyboard gesture, and will
result in the QIOSTextInputResponder losing first-responder status and
the current focus object being cleared.
QtWidgets and other parts of Qt will try to hide the keyboard during
focus changes between widgets, which we already take care of when the
focus object changes, so we detect the situation and ignore it, by
requiring that the current focus object matches the one we've brought
up the text responder for.
Showing the virtual keyboard is still a no-op, as there is no way to
show the virtual keyboard without a focus-object.
Change-Id: Iefcb403c2b6d3da8a4df3fcd53bc1244ba9c4d23
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Allows us to track state through the normal gesture recognizer states
instead of custom variables.
Change-Id: I4fe1b370a581132a9bbb8f51f7bee73381b80341
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
The standard POSIX clock functions are present on QNX, but only
return timing information with millisecond accuracy. To get
accuracy beyond that, platform-specific functions must be used.
Change-Id: I54a0550f1865dbea3c60a86ecd8ad99df3fe42b4
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Due to the way that the QCC mkspecs are structured, the recent
change to add full optimization support causes the -O2 flag to
be completely dropped from QCC builds in release-with-debuginfo
mode, since the QMAKE_CFLAGS_OPTIMIZE variable is not declared
in any configuration file included by QCC toolchains. This patch
adds the necessary flags to make the QCC toolchain operate correctly.
Change-Id: I4cd93442d59fae7c92fc5219cddb16f367447203
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
In rare cases, the Windows event loop can be spinning inside the inner
loop and the message hook is never called. This can be triggered on the
Direct2D platform by opening 32+ window handles.
The issue can be worked around by using the same approach Windows CE uses:
don't rely on the message hook to inform the event loop that the post
message has been delivered. Instead, uninstall the hook and let it be
called directly by the event loop.
Task-number: QTBUG-42428
Change-Id: I10280126dd50729bc260aa5f7029549e2e061c01
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
It is possible that Qt calls paint() several times for an item that
has caching enabled, even without any explicit call to update(). There
are various reasons why that is possible (memory pressure, item gets
transformed, etc.); the important part is that
1) the user must not rely into "caching enabled" = "1 paint() call"
2) the user must always draw the same content from within paint(),
unless update() was called before that call to paint().
Task-number: QTBUG-18410
Change-Id: I2c8d77e6e11aaceffc9a21003dd3f4cc46edd582
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Add WINRT_MANIFEST.rotation_preference as description which orientation
is allowed or preferred by the app. Valid values for Windows Phone are
portrait, landscape, landscapeFlipped. WinRT also allows portraitFlipped
Task-number: QTBUG-40830
Change-Id: I6b11afcdb72c2c158dadddafc5d90c1d18ab9d8b
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
The defaultConfiguration could switch and be either active connection,
so we determine the default should be what has the default route.
Change-Id: I194f27b60e7a3598eca2ff09c2225ba1a46564d9
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Cabling changes can be detected right away, so we should act on that
and change the configuration state.
Change-Id: Ifa9709077215567001e11ab655208a2c1b090073
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
There are some issues preventing 2x images from loading, mainly incorrect
testing for exist() by passing an url, which always reports ‘false’.
Task-number: QTBUG-36383
Change-Id: I1e8e5a91b01f1a4ddd3559c2e860db5bc41908ce
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
QIODevice makes readData() call only when its read buffer is empty.
Also data argument points to the user or reserved read buffer area.
So, no need in data transfer from read buffer at this point at all.
Task-number: QTBUG-41797
Change-Id: Ieb4afdf7eec37fdf288073e4a060e64424f22b9c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 1853579dad1bbb44599314213a1d8a203ecae1c9)
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
IBus can hand us multiple attributes for different formatting properties
of the same text range for events. The IBus input method plugin used to
convert these straight into multiple QInputMethodEvent::Attributes, each
with their own QTextCharFormat instance.
According to the QInputMethodEvent documentation, behavior with multiple
TextFormat attributes for the same text range is undefined. In at least
one known user, KDE's Kate text editor, it causes invisible text for
pre-edit text events as the QTextCharFormats are applied in turn with
partially default-constructed foreground/background brushes:
https://bugs.kde.org/show_bug.cgi?id=339467
This patch makes an effort to merge formatting information for identical
text ranges into a single QTextCharFomat, while otherwise preserving
existing behavior (attribute order is unchanged and attributes deseria-
lized from D-Bus as having invalid QTextFormats remain untouched).
No attempt is made to cope with overlapping text ranges. Segmenting into
smaller ranges and merging for the overlaps would be conceivable, but
until a case of an input method creating events with overlapping ranges
is known seems not worth the effort.
It's worth noting that the IBus input method plugin for Qt 4 also
attempts to merge formatting information into a single QTextCharFormat,
but with a distinct implementation from this one.
Change-Id: Ie3dc38b353724ffb7b5f2d7f316393027373baf2
Task-number: 41640
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Not all platforms do have QRegularExpression as it is based on
pcre.
Change-Id: I6b8e701ff7cf30e776ee34e5dc836cd24c9543b5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
The GraphicsView stack still seems to have issues emitting focusObject
change signals when the focus object changes inside the item hierarchy.
To be on the safe side we use our own view of whether or not IM is
enabled, and try to detect and warn if we find a case where the two
are out of sync.
Change-Id: I9fde896ea14ea5b65784723110887e06453edbd4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
In the toolchain for x86 the va_list type is defined as char *, which
in itself isn't strange, but it was somewhat unexpected as it differs
from the arm toolchains. Either way we should not make assumption about
the va_list type as there is no guarantee it won't cause conflicts when
overloading. This fix simply renames the private overloads.
Change-Id: I7808619d0fa3ca63b75796308cfdff6aa41a7fd0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Found by clang static analyzer.
Change-Id: I8f15ae1a8e6afb91eafa6cee1d1b21e3539af6c1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
This commit changes several instances where moc was generating code that
used 0 as a null pointer constant. The Q_NULLPTR define is the more
idiomatic way to do this, and additionally this silences warnings
generated by e.g. GCC's -Wzero-as-null-pointer-constant.
[ChangeLog][Tools][moc] Fixed "zero as null pointer constant" warnings
in moc's generated code.
Change-Id: Ibe382b7bdbdddaf20cb4bdfd075fcdd1f363f9d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Refactor old code
Stop memory leaks
Properly support mobile data (ofono)
Change-Id: I7f23882ee0ee345a049a4a93ddd452b6d2e53710
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Since QNAM is initialized with defaultConfiguration, we need to
reset the internal configuration used to the current
defaultConfiguration when the state changes and a new configuration
becomes the default.
Task-number: QTBUG-40234
Change-Id: I50f23c62804f29370915eecac2c92301c5f3ead2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Any filter not filtering on suffix shows up duplicated in filter
combo.
Change-Id: I9fc9e33b6081cf6894fabc6dd52c12a4d3dfd393
Task-number: QTBUG-42405
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
The files here are a copy of the parser from the qtdeclarative repository.
This patch combines commit cfff375afcfe63d25b3c1904ff58a90bcd1edb43 and
f876562de8eb978cea39fe72e76c49ae51ff2f97 from the qtdeclarative repository to
fix the license and allow for read-only object property syntax.
Change-Id: Idb58948cede2cd47858e3831785009f8b7ea2169
Reviewed-by: Martin Smith <martin.smith@digia.com>
New in some earlier version:
- Parsing C++ Files
New in Qt Creator 3.3:
- Qt Quick UI Forms
- Using Clang Static Analyzer
Change-Id: I2821b31f4c67b79e6a178018a6acba5b828edb3e
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Needed so that we can build simulator builds for x86_64 as well as
i386. The function call alignment is the same, but we need to use
the 64-bit versions of the instruction and operands.
Change-Id: I62cc78e23b5e0923382d19570ce18f558894e6a0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
The commit was 9361be58f47ec256bf920c378479a02501219c1f (2008-11-17),
referring to the race condition fix that was applied in commit
d47c05b1889bb4f06203bbc65f4660b8d0128954 (2008-10-08). The fix for the
deadlock reintroduced the race condition and the commit message noted
it.
The workaround is no longer necessary since we've fixed the original race
condition differently now (see the previous two commits).
Task-number: QTBUG-42189
Change-Id: I5a83249597a83c4d4caa2ae57964ad3cc61c1d70
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
We don't need two anymore because they now protect the same thing: the
state of the DBusConnection. The difference existed when it was possible
for two threads to access the DBusConnection at the same time: one doing
dispatching and one doing something else. Unfortunately, even though
DBusConnection supports this, QtDBus doesn't.
From d47c05b1889bb4f06203bbc65f4660b8d0128954 (2008-10-08):
Details: if we're removing a timer or a watcher from our list,
there's a race condition: one thread (not the QDBusConnection thread)
could be asking for the removal (which causes an event to be sent),
then deletes the pointer. In the meantime, QDBusConnection will
process the timers and socket notifiers and could end up calling
lidbus-1 with deleted pointers.
That commit fixed the race condition but introduced a deadlock.
Task-number: QTBUG-42189
Change-Id: I034038f763cbad3a67398909defd31a23c27c965
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
We lock it before dbus_connection_send_with_reply (the async version) in
QDBusConnectionPrivate::sendWithReplyAsync. We weren't locking it before
send_with_reply_and_block and we apparently should. The locking around
the dbus_connection_send function might not be necessary, but let's do
it to be safe.
The lock now needs to be recursive because we may be inside
QDBusConnectionPrivate::doDispatch.
Task-number: QTBUG-42189
Change-Id: I7b6b350909359817ea8b3f9c693bced042c9779a
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
QString::sprintf does actually support all length modifiers, including
%lld. The format string is also parsed as UTF-8.
What's worthwile to mention, though, is that %lc and %ls is at odds
with the standard, since wchar_t isn't necessarily 16 bits wide.
Change-Id: I30cd22ec5b42035824dd98e3cdcc79d7adcc953a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Most of the settings there end up overwritten by the clang.conf include
that comes afterwards, except for a few things such as QMAKE_LINK_C,
which remains set to "gcc" and breaks things when one uses
CONFIG=use_c_linker.
QMAKE_LFLAGS_NOUNDEF was coming from g++-unix.conf, though, so we now
manually set it in freebsd-clang's qmake.conf.
Change-Id: Ibd16f59d43eb19e72adf4919da9ce3007100b60f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
While it does not look like the clang-based mkspecs had any problems so
far with not having QMAKE_LINK_C and QMAKE_LINK_C_SHLIB defined, it
makes sense to set them to $$QMAKE_CC just like the GCC-based ones so
CONFIG=use_c_linker works as expected.
Change-Id: Ib660d12b001dd7a877b6f03e79715db08a272968
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Panels windows are usually outside QScreen::availableGeometry, because
they will usually set extended struts to reserve the screen area for
themselves, but their own screen() must remain the one in which they
are.
This cause one downstream behavior to KDE
https://bugs.kde.org/show_bug.cgi?id=339846
in which a panel got by mistake few pixels on another screen, and
was immediately reassigned to that screen, because its geometry was
intersecting the new screen availableGeometry() but not the geometry
of its own screen, because itself reserved its own geometry away
from availableGeometry()
Change-Id: If6c9defdef62732473687dd336dbcec582bd0ea2
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Help text should use the QPalette color.
Task-number: QTBUG-42399
Change-Id: Ibc8658b4a7affc2481d895c13cfa673b50a872e0
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
QMenu needs to check result of QPlatformMenu::menuItemForTag to avoid
a crash dereferencing a null pointer.
Task-number: QTBUG-42327
Change-Id: Ie54a94caec7a5d756c459741df182fbe4e38bec0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
...instead of using the current mouse position. This
is important if event processing is delayed: we want
the QMouseEvent to have the position when the event
happened, not the current position.
Regression from Qt 4.
Change-Id: Ifd4f0f02853236a204de96c5a97e72f86c29f0b7
Task-id: QTBUG-37926
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Will be fixed in a different way.
This reverts commit ae5f3df59b.
Change-Id: Ie706396667a5b6c9003bb92a018d88346a180e65
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Fix "Recursive repaint" crash.
Add guard to QCococaWindow::setGeometry and QNSView
updateGeometry to prevent processing window system
events during setGeometry.
Task-number: QTBUG-41449
Change-Id: I304fdf134d433cbc50fafd997ecd91e31cb57f4e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>