- 23 Sep, 2015 - 10 commits
-
-
Jan Arve Saether authored
We only need to merge the rectangles into a region if we are painting a non-opaque a primitive with alpha. Performance measurements QT_print_speed_bug.zip: Excluding patch: 244686 ms Including patch: 5070 ms This is an improvement of 48x (for debug build) Task-number: QTBUG-48334 Change-Id: I03684c6e7d8a5fb039ea6477ed1a860f09e1b08c Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
Romain Pokrzywka authored
This ensures that the values and signals reported by QInputDeviceManager for touch devices always have corresponding entries in the list returned by QTouchDevice::devices(). It also adds proper QTouchDevice unregistration when the underlying input device gets removed by the evdevtouch QPA plugin. Change-Id: I7bdf2f7435c775d15bddce8ba1e731afdc1d948a Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Thiago Macieira authored
Most processors have carry flags which they set on addition overflow, so it's a good idea to access them whenever possible. Most of them also have widening multiply instructions that can be used to detect overflow of the non-widening version. Tested to compile on: Architecture Compiler x86 GCC 4.9, GCC 5*, Clang 3.6*, ICC 16 beta x86-64 GCC 4.9, GCC 5*, Clang 3.6*, ICC 16 beta x86-64 ILP32 GCC 4.9, GCC 5*, Clang 3.6* IA-64 LP64 GCC 4.8 ARMv7-A GCC 4.9, Clang 3.6* AArch64 Clang 3.6* MIPS GCC 4.9, Clang 3.6* MIPS64 GCC 4.9, Clang 3.6* PowerPC GCC 4.9, Clang 3.6* PowerPC 64 GCC 4.9, Clang 3.6* SPARC Clang 3.6* SPARCv9 Clang 3.6* [*] supports the intrinsics If the compiler does not offer a way to detect an overflow, we do it by hand. For unsigned additions, that's easy, since the C++ language specifies the behavior of the overflow. That's also the reason why this code is implemented only for unsigned integers. For the multiplication, if the compiler does not support widening multiplications, we do it with a division instead. This is necessary for GCC < 4.5 and compilers not compatible with GCC or MSVC. Change-Id: I049a653beeb5454c9539ffff13e637de0f1338c1 Reviewed-by:
Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by:
Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Albert Astals Cid authored
If you don't deleteLater and more won't work Change-Id: I47cbb24f8e22a7f269a0297410e4163878819f82 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Laszlo Agocs authored
When disabling the graphics adapter, things start failing with context lost and then bad_alloc and bad_access failures when creating contexts/window surfaces. Swap buffers now handles context loss. This makes it possible for Qt Quick to act when the graphics adapter goes away. Similarly, the window surface creation failure EGL_BAD_ACCESS is treated the same way as context loss. Note that this will not really help the main issue, because rendering is not possible without a GPU (reinit attempts will fail either at context creation or window surface creation), but proper logging and context loss reporting improves the situation somewhat. Also unify and prettyify the warning and debug prints. This makes it easier to understand what is going on. Change-Id: Iec3a9b54f1134e78e87eefcf938525283ec9412a Task-number: QTBUG-48095 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
Friedemann Kleint authored
- Set QtProject as organization. - Remove unneeded member variables. - Use member initialization in the constructor. - Use new connection syntax in createActions() to assemble the menu there, removing the createMenus() function. - Introduce a QSharedPointer to ensure settings are deleted. Previously, the settings were parented on the tree widget, which is a hack of sorts. - Fix OS X macros. Change-Id: Ibbc6bfb03eb5c7eda077b1a3aa3f1707667f7f13 Reviewed-by:
Topi Reiniö <topi.reinio@digia.com> Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-
Morten Johan Sørvig authored
Close the window instead of closing the widget. This will run the QWidget close implementation followed by the QWindow close implementation. Change-Id: Iaba3cf0359410def858363a02fceaeddb7095aaa Task-number: QTBUG-43344 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Morten Johan Sørvig authored
Call the QWindow close event handler when processing close events in QWidgetWindow. Change-Id: I2b8691735962f6a222a30a847bb18cc6c86b55d4 Task-number: QTBUG-43344 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Serge Lysenko authored
We need a method to check image format of .ico with QImageReader loader. That is very useful to filter out low resolution icons. Change-Id: I2dfe3aa49cbc1e05836be846ae3da30786b98ff4 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
Christian Kandeler authored
Change-Id: I1a027526f24707f9431fe60ad08e41b5b07ffea3 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
- 22 Sep, 2015 - 28 commits
-
-
Thiago Macieira authored
Change-Id: Iee8cbc07c4434ce9b560ffff13ca3fb80be56be6 Reviewed-by:
Marc Mutz <marc.mutz@kdab.com>
-
Thiago Macieira authored
This is happening in code I don't usually test (32-bit, non-ICU, etc.) KeccakF-1600-opt32.c:481:22: error: cast from type 'const unsigned char*' to type 'UINT32* {aka unsigned int*}' casts away qualifiers [-Werror=cast-qual] KeccakF-1600-opt32.c:217:62: note: in definition of macro 'extractLanes' Change-Id: I42e7ef1a481840699a8dffff140209823301a07a Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Richard J. Moore <rich@kde.org>
-
Thiago Macieira authored
The C++ standard says it must, but some badly-configured toolchains seem to be lacking support. In particular, for some 32-bit platforms without native support for them, GCC implements 64-bit atomics via out-of-line functions in libatomic. If that library is missing... well, then std::atomic 64-bit doesn't work and we mustn't try to use it. This was found when trying to compile Qt 5.6 for MIPS 32-bit: Linking library libQt5Core.so.5.6.0 .obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::load(std::memory_order) const': /opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:500: undefined reference to `__atomic_load_8' .obj/qsimd.o: In function `std::__atomic_base<unsigned long long>::store(unsigned long long, std::memory_order)': /opt/poky/1.7/sysroots/mips32r2-poky-linux/usr/include/c++/4.9.1/bits/atomic_base.h:478: undefined reference to `__atomic_store_8' Yocto bug report: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8274 Change-Id: I42e7ef1a481840699a8dffff140224d6614e5c36 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Samuel Gaist authored
sessionId and sessionKey generation on Windows was lost in the transition of Qt 4 to Qt 5. During the reimplementation of the QSessionManagement feature, that part has been missed. This patch fixes that. Based on Qt 4 [ChangeLog][QtGui][Windows] Fixed a regression where both sessionId/sessionKey were empty Task-number: QTBUG-47690 Change-Id: I17b5fbee9d0979d292d30b94b3a2cc3107fc54fd Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
Tor Arne Vestbø authored
This table has values precomputed based on every single glyph in the font, not just the subset we use as a fallback, which should improve both performance and correctness. The fallback codepath of computing the minimum values based on a subset of the characters in the font is left in, as we still need that for bitmap fonts, and some font tables that have invalid values. Change-Id: I71aac1e09c9f9de80446b023ba15a9e2afe7d226 Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
-
Tor Arne Vestbø authored
Without piping the output to /dev/null, we'd get the following: sh: dbus-send: command not found And if dbus support is only limited to runtime support, we don't treat it as a fatal error and only notice the user. Change-Id: Ia7750a074b8d563bf9694fa8fa628b4017e8bb68 Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Rafael Roquetto authored
When working with QGraphicsView/QGraphicsScene, touch events are sent to QGraphicsView's viewport() event handler, which then dispatches it to the corresponding QGraphicsItem, if any. In the case of QGraphicsProxyWidget, we need to forward these touch events to the encapsulated QWidget, otherwise it will never receive them (i.e. the event chain for touch events terminates at QGraphicsProxyWidget). This also enables QWidgets associated with QGraphicsProxyWidget to grab gestures. Task-id: QTBUG-45737 Change-Id: Ia441d3576afb6c97376be6f2ff073901e6e928a5 Reviewed-by:
Andreas Aardal Hanssen <andreas@hanssen.name>
-
Gatis Paeglis authored
It is still unclear how to act on those messages. We are already doing this for other Compiz messages -_COMPIZ_DECOR_*. Change-Id: I45f76b5f56ee1b07eb4c7398cc85b5d7bed86c4c Task-number: QTBUG-46954 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Friedemann Kleint authored
Default to primary screen and handle situations where the screen is null consistently. Remove unused QWindowsScreen::screenOf() method. Task-number: QTBUG-48288 Change-Id: I91b3c2331521d9d3be8ac77606ee820cd35ebb0f Reviewed-by:
Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-
Friedemann Kleint authored
Remove QWindowsContext::instance() method and use QPlatformIntegration::inputContext() with proper check instead. Extract static method to disable Windows IME on a window by associating a null context from QWindowsInputContext and use that to disable the IME if another context is in use. Amends change b46fe39d . Change-Id: Icaad99d390cea5559167602ffbf994660d4717a5 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Friedemann Kleint authored
The derived classes (QSpinBox, QDoubleSpinBox, QDateTimeEdit, QTimeEdit) set various input method hints on the spin box in the init() methods of their private classes which did not have any effect since QAbstractSpinBox::inputMethodQuery() was implemented to return the hints of the embedded QLineEdit only. Change it so that hints set on the QAbstractSpinBox are also considered. Change-Id: I76b7c4d3e0869589c110cf3a0b2c3f94201db5d5 Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by:
Liang Qi <liang.qi@theqtcompany.com>
-
Gatis Paeglis authored
The current version of the mouse motion event compression algorithm does not work with certain configurations - situations where we get one XCB_GE_GENERIC event between every XCB_MOTION_NOTIFY event. The new implementation tries to be less fragile. The previous approach checked "is *the next* event the same type as the current event", the new check asks "have we buffered more events of the same type as the current event". We buffer events of the same type only when the main thread is unresponsive. This patch adds event compression for XI_TouchUpdate in addition to the fix for motion even compression. Change-Id: Ie215eb5969e2060e463ebe48e3d3007390a30deb Task-number: QTBUG-40889 Task-number: QTBUG-47069 Reviewed-by:
Laszlo Agocs <laszlo.agocs@theqtcompany.com>
-
Alexander Volkov authored
The standard http://www.newplanetsoftware.com/xdnd/ says: "The only place where the proxy window should be used is when checking XdndAware and in the calls to XSendEvent()". Change-Id: I62e504ba52ec7ec2a941c53a84889bb3eb4b4cc1 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Gabriel de Dietrich authored
In some cases it's not possible to use QT_HASH_SEED, specially when we need to set the environment variable from inside the application, as dynamically loaded libraries or plugins may create static QHash instances. That would set qt_qhash_seed to a value different from -1 and skip the env var value. For those cases, and when we still want to set qt_qhash_seed, we provide a way to enforce its value. Auto-tests accessing qt_qhash_seed directly have been updated accordingly. Usage in qdoc, uic and rcc has been left as is for the time being. Change-Id: I3b35b4fa0223c83b1348a6508641905a2a63266f Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-
Laszlo Agocs authored
Some code may rely on the primary screen geometry for example. Task-number: QTBUG-47002 Change-Id: I42fc1ccf0c1d91beb5d8e9691ac6ec4e7400e567 Reviewed-by:
Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
-
Laszlo Agocs authored
Returning a dangling pointer is no good. Do what QOffscreenSurface does: just null it out. Task-number: QTBUG-42803 Change-Id: I01a6db9ae8974a1c78157ebc67097c8dac3a6b6e Reviewed-by:
Gunnar Sletta <gunnar@sletta.org>
-
Paul Olav Tvete authored
Change 071098b0 changed QWidget::render to work with all paint devices. Before that change, QWidget::grab would effectively call QWidgetPrivate::render(), since the QWidget::render overload was just a direct call to the private class implementation. This change fixes the regression by calling QWidgetPrivate::render() directly from QWidget::grab(). Task-number: QTBUG-43968 Change-Id: I1aa2fa91c722374612b6cfa76fd0891d168ecac9 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
Joerg Bornemann authored
Consider a debug_and_release build of a static library. Set DESTDIR to different values for debug/release. Let TARGET be the same for debug/release. Now qmake would generate code in Unix Makefiles like this: rm mylib.a ar mylib.a ...objects... rm debug/mylib.a mv mylib.a debug/mylib.a and for release analogous. This clashes when building in parallel. This patch resolves this conflict by reducing the commands to: rm debug/mylib.a ar debug/mylib.a ...objects... We believe that every ar implementation that's in use for Qt is able to operate on files in subdirectories. [ChangeLog][Important Behavior Changes][qmake][Unix] QMAKE_POST_LINK steps of static libraries are now required to operate on $(TARGET) in $(DESTDIR) instead of $$OUT_PWD. This matches the Windows backends. Task-number: QTBUG-48287 Change-Id: I192f488ed74c56bc32862426d9e9d4237d9b8135 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-
Jędrzej Nowacki authored
The test is moved from tst_qtreeview to tst_qtreewidget as it tests qtreewidget class. C++ usage is fixed, there was an illegal C cast that was causing crashes Change-Id: I80e90a9b531e87f9b133186b6f48be42f54901b5 Reviewed-by:
Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
-
Timur Pocheptsov authored
Add an option to skip a generic bearer engine if needed (by testing environment variable QT_EXCLUDE_GENERIC_BEARER). Task-number: QTBUG-41866 Change-Id: I1b53ed1d22a7b34de5c6f6d0386ed242b2ca5e00 Reviewed-by:
Alex Blasche <alexander.blasche@theqtcompany.com>
-
Thiago Macieira authored
Detection for most of them is free because we're loading the entire registers anyway. The only exception is AVX512VBMI, which is in a new register we hadn't yet read from. I've also added the new GCC names so they can be used with QT_FUNCTION_TARGET. The only two exceptions are "movbe" and "popcnt", which are extremely restricted in use and we are not likely to have code dedicated to using them. Change-Id: Ib306f8f647014b399b87ffff13f1d8fd29e58be0 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Thiago Macieira authored
Instead of trying to detect one bit and set another, let's just use the bits from the x86 CPUID instruction on x86. This makes use of the full 64-bit space now. Since MSVC doesn't like enums bigger than 32-bit, we have to store the bit number instead of the actual bit value in the constant. For that reason, I also renamed the constants, to catch anyone who was using them directly, instead of through qCpuHasFeature. Change-Id: Ib306f8f647014b399b87ffff13f1d587692d827a Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Thiago Macieira authored
I've tested with Clang 3.7 and ICC 16 on Linux, XCode 6.4 on OS X for OS X (not iOS). Change-Id: Ib306f8f647014b399b87ffff13f1f4291d801a20 Reviewed-by:
Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by:
Thiago Macieira <thiago.macieira@intel.com>
-
Friedemann Kleint authored
Qt needs to return false in case it does not handle the "extra" buttons (like WM_XBUTTONDOWN) which causes Windows to send the corresponding WM_APPCOMMAND message (like APPCOMMAND_BROWSER_FORWARD). Task-number: QTBUG-48117 Change-Id: Id2c8005ee992b0abd8af2aacbcb97c4eedcfa32f Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
Friedemann Kleint authored
On Windows, Qt needs to return false in case it does not handle the "extra" buttons (like WM_XBUTTONDOWN) which causes Windows to send the corresponding WM_APPCOMMAND message (like APPCOMMAND_BROWSER_FORWARD). Task-number: QTBUG-48117 Change-Id: I093cd2d8205a39c3a042dd8a0d19c7229003761f Reviewed-by:
Andy Shaw <andy.shaw@theqtcompany.com>
-
Jake Petroules authored
Change-Id: I92db9691c2243ae72ecd4e11dd4640afaf4bf822 Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
-
Jake Petroules authored
Replace deprecated File Manager APIs with modern equivalents. Change some Q_OS_MACX to Q_OS_DARWIN in file system related code. All of these apply to iOS as well as OS X, and were ifdef'ed for OS X only primarily due to legacy reasons - carryovers from Qt 4 or Carbon APIs which have since been refactored into using CoreFoundation. This also makes the code consistent with the documentation. Change-Id: I414e9bdfffff731413ddf16171b1317027d87caf Reviewed-by:
Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
-
Tor Arne Vestbø authored
The naturalTextWidth() of the QTextLayout already includes the left and right bearing of the actual text in the line edit, there's no need to shift the text based on the minimum left and right bearings as well. This may result in text that is closer to the edges of the line edit on platforms that relied on this flawed logic, but that should be adjusted back using the corresponding style hints. Change-Id: I1d5edbeda7afe3e69b972841d280eb9e573675f5 Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by:
Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
-
- 21 Sep, 2015 - 2 commits
-
-
Alexander Volkov authored
If a mouse event from the window system changes both position and buttons at the same time, then it's split by QGuiApplication into a mouse move event followed by a mouse button event. Propagate the source of the original mouse event to the mouse button event. Change-Id: I075fb4ad9e4338bf8ec170630ce270b38d8682d9 Reviewed-by:
Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-
Alexander Volkov authored
Virtual roots are windows, so we should request XCB_ATOM_WINDOW instead of XCB_ATOM_ATOM. Change-Id: I59558b1a3c37cb9bcad42bc0695d420f59088eb9 Reviewed-by:
Uli Schlachter <psychon@znc.in> Reviewed-by:
Lars Knoll <lars.knoll@theqtcompany.com>
-