Some quick benchmarks against GNU coreutils 8.21 and OpenSSL 1.0.1e
(time in µs; time for coreutils and OpenSSL include the loading of the
executable):
Qt Coreutils OpenSSL
n SHA-1 SHA-224 SHA-512 SHA-1 SHA-224 SHA-512 SHA-1 SHA-224 SHA-512
0 0 0 0 717 716 700 2532 2553 2522
64k 120 484 381 927 1074 966 2618 2782 2694
Diff 120 484 381 210 358 266 86 229 172
The numbers for Qt are pretty stable and vary very little; the numbers
for the other two vary quite a bit, since they involve launching and
executing separate processes. We can take the lesson that we're in the
same ballpark for SHA-1 and we should investigate whether our SHA2
implementation is sufficiently optimized.
Change-Id: Ib081d002ed57c4f43741eca45ff5cd13b97b6276
Reviewed-by: Richard J. Moore <rich@kde.org>
"register" is usually ignored by the compiler and
is deprecated in C++11
[-Werror,-Wdeprecated-register]
Change-Id: I3a10f2128e4a4574b2cd3861bddbbd4ba6a3683f
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
This isn't needed anymore since quite a while.
Change-Id: I80a99f988a917af5b8c64865ec7e73e519978740
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
To enable windows xp support, we must do two things:
1. linker flag must be /SUBSYSTEM:CONSOLE,5.01 or
/SUBSYSTEM:WINDOWS,5.01. For x64, the version is 5.02.
2. Do not use Windows Kit 8. Win SDK v7.1A is recommended. Prepend the
right include paths and lib paths to INCLUDE and LIB before
building.
The Windows XP target support is enabled by passing "-target xp" to
configure.
Task-number: QTBUG-29939
Change-Id: I84c8439606cc2a9d27d64947702846faa4f1e4a2
Reviewed-by: Lucas Wang <wbsecg1@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
In a subsequent commit we will need access to more information of the
project object. This is merely a refactoring.
Change-Id: I40e501d037eb7d0295e1057e7b86e404e88e6ca3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
libxkbcommon 0.4.1 added two new functions, xkb_state_key_get_utf{8,32}(). They
combine the operations of xkb_state_key_get_syms() and xkb_keysym_to_utf{8,32}().
The xkb_state_key_get_utf{8,32}() functions now apply Control transformation: when
the Control modifier is active, the string is converted to an appropriate control
character. This matches the behavior of libX11's XLookupString(3), and is required by
the XKB specification:
http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier
Task-number: QTBUG-36281
Change-Id: Ib45f45d801291c171640600384107a35d7d56b9b
Reviewed-by: Ran Benita <ran234@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This is the latest version, released on Mar 27 2014. It includes:
https://bugs.freedesktop.org/show_bug.cgi?id=75798https://bugs.freedesktop.org/show_bug.cgi?id=75892
Required for fixing input when running Qt application on Mac OS X
with XQuartz and for fixing QTBUG-36281.
Change-Id: Idc4d3c99a4008a10b91ab51c8910b36909974703
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Evdev is not known to the windows configure and therefore some code
is currently broken which depends on QT_NO_EVDEV. This patch
introduces evdev to the configure app on windows and disables
evdev support for cross compilation if not available.
Change-Id: I6acb5b593668c85a19ef8658a8d4c36ec3d2a686
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This is the right configuration of the platform within the mkspecs.
It enables the usage of additional features like the automatic
detection of platform specific prf files.
Change-Id: I2f19265d283e47c62455128f217bc44ba88cdc98
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This adds evdev to the help, configure status output and will include
it in the qconfig.h.
Change-Id: Ibc07516ab07e7c53ec89b167d604f5cefa2d92b7
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
QGLContexts created from a QOpenGLContext get their valid flag reset,
resulting in creating a totally new underlying context. This is wrong
and becomes visible when sharing is expected between contexts (since the
QGLContext's underlying QOpenGLContext will not have sharing).
Task-number: QTBUG-37893
Change-Id: I8cb37c11dfb400a77e510bf4c8219bedc742309e
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
One issue was that the text of a QPushButton would stretch the widget if the
platform font is to big. The other issue was that the autotest did not expect
that show might translate to a showFullScreen on some platforms.
Change-Id: I3a9903979d766d04c402fda309d0492cfa506ed6
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
In the sizeHint test the show command was replaced by showNormal.
This fixes the test an all platforms where show translates to
showFullScreen.
Change-Id: I307790a6987c61a57679094b26818383815036a0
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Use bookcase for the filter name like the rest of the modules.
Change-Id: I9690d0b6a6f3abb11837120da75832475b975b5d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
When resizing a window, a window might not be resized synchronously with
its backing store. We need to use the actual texture size as the transform
to avoid stretching the rendered texture.
Change-Id: I945f6d190577ccdcb54483a267a1e42df1ca3156
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Currently, checking if Finder is the application returned for
opening a bundle is done using its absolute path. Finder might
be relocated in future OS X versions which makes this approach
less clean.
Using Finder's bundle identifier allows us to ignore where it is
stored in the filesystem as the identifier will not change.
Task-number: QTBUG-31884
Change-Id: Ib4c3412fb206fadda04eb547bc6a4eef02ee949a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
There are some cases where unplugging a monitor temporarily leaves
a QCocoaScreen object with an invalid m_screenIndex. Debugging shows
that the OS does not report the screen update before Qt attempts a
repaint. This calls devicePixelRatio(), which calls osScreen(), and
the index for the screen is out of bounds.
By temporarily exiting updateGeometry() when the screen is unavailable,
we avoid the crash. The OS quickly reports the monitor state change
and everything returns to normal, unnoticed to application.
Task-number: QTBUG-37606
Change-Id: Iacb2ff22bd3df72a5d87b2289242fb393625af57
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
All hidpi coordinates in Qt are device independent points and
the hidpi cursor hotspot should follow that convention.
Change-Id: Id5295cae7a463e9a3ea85d2b0a18a5020dc97656
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Treat Qt::ToolTip windows the same way as Qt::Popup
windows: The parent window keeps track visible
transient child windows of this type and closes
them when appropriate.
This improves the locator popup window behavior in
Qt Creator: It now closes when moving the main Qt
Creator window.
Change-Id: Ibc5d0713469b7c9aba2fd13fb1eb559706c8c4ed
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
The string is now autoreleased.
This fixes a memory leak in qt_mac_QStringListToNSMutableArrayVoid
Task-number: QTBUG-20347
Change-Id: I11ebeb264af4c8ce98968f2221eea772f24c12d4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Extend the existing rect adjustment to cover the
upper/left edges as well. Check for a valid rect
before drawing.
Task-number: QTBUG-34534
Change-Id: I156abf4fb52924c350ec24fb44eadca86b2d5339
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Steve Mokris <smokris@softpixel.com>
Only accept lower-case "true" and "false", as documented.
The old check didn't match either the documentation, nor the QSettings/
QVariant behavior (where, for a boolean value, any lower-cased content
that not empty, "0" or "false" is considered true).
Change-Id: I317d29c16a27f862001b9dff02e8298df8acf5a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Setting qt_button_down on DblClick is dubious and breaks popups like menus
since they won't appear correctly on every click anymore when clicking on
them rapidly several times.
Task-number: QTBUG-37891
Change-Id: Ic6cbbbe8b42891d2f9fa2ff66aa42bb89230d896
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The trailing slash was missing, which caused the resulting path to be
wrong.
Change-Id: Iaa9dee15e744307c2d438181964b71c412fd9709
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Report invalid keysyms only when DEBUG_GENERATOR is defined.
It is not unusal that Qt applications are used on old linux
distributions where Compose files might be far behind the current
development, therefore we should be less verbose when encountering
invalid keysyms. On Red Hat 5 compose key plugin reports ~3200 lines of
warning messages:
"Qt Warning - invalid keysym: U1001D1BC"
"Qt Warning - invalid keysym: U1001D16F"
"Qt Warning - invalid keysym: U1001D1BA"
"Qt Warning - invalid keysym: U1001D165"
"Qt Warning - invalid keysym: U1001D16F"
...
Task-number: QTBUG-34483
Change-Id: If0c51d300508ef164ad7fc59b0a76a838cd5a3b9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Instead of using a list and appending / popping of elements, use
a vector of constant size and access via index to avoid
bookkeeping errors.
Task-number: QTBUG-37831
Change-Id: Icb5a182626c63e693b04daaf7a2f70997d9aeae1
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
It has been working in Debian for some time.
Change-Id: Ib5741a4ba68bf95c7020336c84bc66257ff27809
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
On Android the volume keys are by default connected to the global volume
control and by accepting them we remove this feature. Meaning each
application would need to re-implement this functionality.
Ideally we should only accept the volume keys if they where accepted by
the user to avoid overriding default behavior, but we currently don't
have the infrastructure to do that.
To revert back to the old behavior the env. variable
QT_ANDROID_VOLUME_KEYS can be set.
Task-number: QTBUG-36570
Change-Id: Ib053a40383f2de452f385b19f7795c2fc23fc4fe
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
The new Android jvm (ART) complains loudly if we attach without
supplying a thread name.
Task-number: QTBUG-35441
Change-Id: I962d613be0db50f3ca9a4c786b36003f31c9db14
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
When we delete the previous FBO in QOpenGLWidget::resizeEvent while
it is the currently bound FBO, the QOpenGLContextPrivate::current_fbo
will not be updated and will try to be bound during the initialization
of the new FBO.
Fix the issue by explicitly releasing the FBO on destruction if it
is current.
Change-Id: Id049889c4857526750bbecf3dd27343e44449c12
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
This will replace QSGContext::setSharedOpenGLContext.
To be able to allow sharing the Chromium GL context with both
QWebEngineView and QQuickWebEngineView, we need some way of setting
the sharing within QtWidgets and QtQuick. Since they don't depend
on one another this patch allows the sharing context to be set
through QtGui.
Change-Id: I91b365dd06ec925b4c5a99ac82c222778781fe8e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QGLWidget rendered to the default framebuffer, which had a depth and
stencil buffer attached by default.
Keep this behavior by adding the attachments to the FBO by default
in QOpenGLWidget.
Change-Id: I6f72a444eac3d8eabb7a539ad12216f1e5d2183d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Build failure was introduced by 9bb634a617.
When linking with systems provided libxkbcommon, then DFLT_XKB_CONFIG_ROOT
can't be accessed directly.
The reason that this slip through CI is that on CI machines Qt
is build with bundled version of libxkbcommon.
In addition this patch improves keymap error message, by making it more explicit for
users what could be the reasons for "keymap compilation" failures and what should
be done to make input work. As it turns out this is a common issue on old systems,
servers and some VNC clients.
Task-number: QTBUG-37971
Change-Id: I77667a404150ee7ab8465a065e23ca5eea63c33b
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Patch 9a08483d76 introduced a regression,
tst_qmetatype test was not meant to be removed.
Change-Id: I5456ffbbd9d9f8e461f828c6183e46dabf67952b
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
On QNX grabbing the frame buffer returns the content of the back buffer.
In order to execute the OpenGL tests properly a swapBuffers is executed before
in order to be able to retrieve the content of the front buffer.
The patch also documents this platform behavior.
Change-Id: I7a501818ec6eea061f2f54f95854f68cb72e0534
Reviewed-by: James McDonnell <jmcdonnell@qnx.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
This should've been removed in commit 24f1025663
Task-number: QTBUG-37832
Change-Id: I3404f17c904dbb462773f40371d09b0e58a0930d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
AMD drivers do weird things. Provide a workaround.
Task-number: QTBUG-37909
Change-Id: Idabd6ebb6e1447cb9bd92c7711a50aaa8575b9d6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
If the window being activated is an embedded window, the parent window
will be a foreign window (usually not even belonging to the current
process); we shouldn't attempt to focus it.
Task-number: QTBUG-37984
Change-Id: I2ea03a86b30bbc43cde643e18e0e1d020e5f2c84
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Avoid failing the makeCurrent() on iOS that does not currently support
using a window with different contexts.
Change-Id: I2e10ad7e382161625a78518d02ad94edaff591ca
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
According to MSDN "the offset must be a multiple of the allocation
granularity". We use this already for the win32 version by splitting
into offsetLo and offsetHi. However, we did not convert it back to the
correct argument passed for MapViewOfFileFromApp.
Now all auto-tests for mapping succeed.
Task-number: QTBUG-37773
Change-Id: I7e43f906cb93164b58f4e5e3f88388cdace865d7
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
ImageParams is used to pass arguments to main(), but when used the
original argv[0] is dropped. To remedy this, expect argv[1] to contain
the same value found in the Xap's ImagePath.
Change-Id: I2fb3b9956304fdcdeec4424ea56289d56ad4fe0b
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
> qstring.cpp:5325:1: warning: 'defaultCollator' defined
> but not used [-Wunused-variable]
Change-Id: I29fe2006a678f4f0b3b504b90120c0e99d7090fb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Pass the -confirm-license option to external license checker which is
used in Qt commercial version.
Change-Id: I62326d1e6a8307dae64535ecf2ced762130b7e8f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuli Piippo <samuli.piippo@digia.com>
WinRT distinguishes between regular capabilities and device
capabilities. For now the latter section are location, microphone,
proximity and webcam. Hence we must add those properly to the generated
manifest.
However, Windows Phone currently combines all of these into the
Capability section, so add a warning if someone uses devicecapabilities
for Windows Phone.
Task-number: QTBUG-37932
Change-Id: I8e9550f29b6afdea3737cc85bdc68344fc04223d
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
The following adjustments are made:
- A precompiled path, defaulting to a QRC path, is added for looking
up precompiled shaders
- The standard service source/binary paths are created if needed, in
order to avoid fast-fails when the service cannot create the structure
itself fast enough.
Change-Id: I966e54c0b35bafdaf0b3a32b76eb896308aca6db
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>