summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* fix daylight time in QTimeZone on AndroidDrew Parsons2014-12-112-0/+54
| | | | | | | | | | | | | | Android does not provide an API to access daylight time transitions, so the standard QTimeZonePrivate::dataForLocalTime only returns standard time without the daylight offset Therefore provide an override, QAndroidTimeZonePrivate::dataForLocalTime, which tests daylight time offsets directly rather than using transitions. Change-Id: Ia8adaf9af40da38aadfa7d22d9a3fe9da9ba24a8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Add Q_DECL_RELAXED_CONSTEXPR to QUuidOlivier Goffart2014-12-111-8/+7
| | | | | | Change-Id: I0fa5806ef7a8e14b0728f0b914fa9ffd0dbad811 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Add NoPartialUpdate support to QOpenGLWidgetJørgen Lind2014-12-112-5/+101
| | | | | | | | | | [ChangeLog][QtWidgets][QOpenGLWidget] Added an UpdateBehavior flag to QOpenGLWidget and enabled support for NoParitalUpdate for QOpenGLWidget. NoPartialUpdate is the default update behavior for QOpenGLWidget. Task-number: QTBUG-40717 Change-Id: I47d11460e4ef899a24cfd4964ddcac57bc3f91ff Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Add GL_EXT_discard_framebuffer to QOpenGLExtensionsJørgen Lind2014-12-112-1/+22
| | | | | Change-Id: I57e8dd2ea2e6f018a46eaabed2ca8b6d417358a3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Make the defaultSectionSize property of QHeaderView style dependentAlexander Volkov2014-12-116-3/+59
| | | | | | | | | | | | | | | Add new enum items PM_HeaderDefaultSectionSizeHorizontal and PM_HeaderDefaultSectionSizeVertical to QStyle and get corresponding values in QHeaderView. This way we get rid of some magic constants in QHeaderView and we can have reasonable values for the default section size for high-DPI displays. [ChangeLog][QtWidgets][QHeaderView] Default section size is now style-dependent by default. [ChangeLog][QtWidgets][QHeaderView] Added resetDefaultSectionSize(). Change-Id: I44e152c5cf0bec1e5d78e1e62f47a2d1f761dfbf Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Use categorized logging for QGestureManager.Friedemann Kleint2014-12-111-29/+24
| | | | | | | | | Task-number: QTBUG-40461 Task-number: QTBUG-15768 Task-number: QTBUG-38925 Change-Id: I4b422b2b041a44ee8c24683ab2947cccfe422126 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Clean up QDebug operators for QDirKai Koehne2014-12-101-13/+16
| | | | | | | Change-Id: Ia0a9eb5058adde98f690288cfbbb62a82a75dc60 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't attempt to load an empty generic plugin if no environment variable is set.Robin Burchell2014-12-101-2/+7
| | | | | | | Also warn if a requested generic plugin is not available. Change-Id: Iab1f1f87be435b4ad446881cba25d0b19a564f08 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QFileSystemEngineUnix: Don't stat before retrieving working path.Robin Burchell2014-12-101-22/+15
| | | | | | | | | | | | | This is entirely unnecessary. If the path is bad, then getcwd and friends will fail. Doing an extra stat imposes an extra performance overhead without reason. Trivia: A dive into Qt's history shows that the stat dates back to: Sat Aug 12 14:24:36 1995 +0100 The original purpose of the stat was to avoid calling getcwd unless the path had actually changed. Subsequently, the caching was removed, but the stat remained. Change-Id: Ia4598dc74ded36516b3e10e7ab0eb5a6a5690466 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.4' into devSimon Hausmann2014-12-1099-514/+1257
|\ | | | | | | | | | | | | | | Conflicts: doc/global/template/style/online.css mkspecs/android-g++/qmake.conf Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
| * Android: Make cursor keys work againPaul Olav Tvete2014-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | On Android, we disable mouse selection, since that does not work well with touch screens. In change a03a69efb9ed89cd4a90878eda20, we accidentally disabled keyboard selection as well. Unfortunately, disabling keyboard selection will disable all keyboard movement. This change re-enables TextSelectableByKeyboard. Task-number: QTBUG-42991 Change-Id: Ie63ed3d88a0abcb72f04e0ec60a5b91c0b14a47e Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * qimage_conversions.cpp: Fix build on big endian systemsDmitry Shachnev2014-12-091-2/+2
| | | | | | | | | | | | Change-Id: I8149eb2deaa101daf85a957ff48c3a7140c43bbc Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
| * Do not initialize accessibility code by default on startup.Jan Arve Saether2014-12-094-47/+86
| | | | | | | | | | | | | | | | | | | | | | Instead listen for if the accessibility service is running or not by implementing AccessibilityStateChangeListener. This seems to work smoothly when turning on or off TalkBack. This should also improve startup time. Change-Id: I3eb7d6cb9c9c1618afbb59675e4e089c9159019c Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Windows: Limit cursor cache.Friedemann Kleint2014-12-091-1/+14
| | | | | | | | | | | | | | | | | | Prevent the cursor cache from growing indefinitely hitting GDI resource limits if new pixmap cursors are created repetitively by purging out all-noncurrent pixmap cursors. Change-Id: I4a3bbd6235af13e306ca84ac6fea3fcd69d53279 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Support vertical sliders on AndroidPaul Olav Tvete2014-12-091-6/+26
| | | | | | | | | | | | | | | | | | | | There is no such thing as a vertical slider in the native Android style. Therefore, we need to rotate the painter in order to draw one. Task-number: QTBUG-41992 Change-Id: Ibe2bf1d7fa27756aad0b8469c8752d6d3e848527 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * QHeaderView: take the sort indicator into account when eliding textGiuseppe D'Angelo2014-12-092-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | By adding PM_HeaderMarkSize to the margins if the section is showing a sort indicator. Turns out that that particular enum was actually unused in QtWidgets (!), so tune the value to match reality. Task-number: QTBUG-629 Change-Id: I8bc70451656d634a064c8b5014e449977c55aa9d Reviewed-by: Cristian Oneț <onet.cristian@gmail.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Styles: improve SH_Header_ArrowAlignment handlingGiuseppe D'Angelo2014-12-093-2/+9
| | | | | | | | | | | | | | | | | | | | | | The docs were wrong, and the returned values from some styles did not match reality, so fix that. Again, this style hint was not used at all within QWidgets... Task-number: QTBUG-629 Change-Id: Ie6ff80fd09bc3292ba3d787ccca4d6f4c0056e89 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
| * Added support for CTRL key modifier to Android builds.Przemysław Czerpak2014-12-081-22/+21
| | | | | | | | | | Change-Id: Ib3eddb33348c54cec6cee62abdf69104059affb0 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * doc: Clarify \inqmlmodule usageAlejandro Exojo2014-12-085-7/+8
| | | | | | | | | | | | | | | | | | The \inqmlmodule command only accepts one parameter: the name of the module. This was producing some confusion, since in qtdeclarative there were some wrong import statements and it wasn't obvious which command was producing them. Change-Id: Idb41f12f20f05757942b0957c512d195ec8500b3 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| * Take ShareOpenGLContexts into account in QOpenGLWindowLaszlo Agocs2014-12-081-0/+6
| | | | | | | | | | | | | | | | | | While the attribute was originally intended for widgets (QOpenGLWidget, QQuickWidget) only, we need a way to get multiple QOpenGLWindow instances whose contexts share with each other. Change-Id: Ib983c9c2815b0a3911bc504ffad8d8dddad192aa Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
| * Widgets: be more careful when setting focus on touch releaseRichard Moe Gustavsen2014-12-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An application might choose to change focus when receiving mouse/touch press/move events. This is in conflict with Qt assigning focus on touch release (QPlatformIntegration::SetFocusOnTouchRelease), since Qt might then reassign focus to something else. An example of this is seen with the "frozencolumn" example. Here, when the user double clicks on a cell, the application creates an 'edit' widget inside the cell that gets focus. But at soon as the last release is sent, Qt will change focus to the focus proxy of QScrollArea instead. This patch will introduce an exception to setting focus on release, so that we only set focus if we detect that focus didn't change (by the app) while processing press/move events. Task-number: QTBUG-39390 Change-Id: I7b398b59e3175265afd2fcd938e11f88155abc89 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * Update window flags from QToolBarPrivate::endDrag().Friedemann Kleint2014-12-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | Activate previously #ifdef'ed code which cleared the Qt::X11BypassWindowManager hint. With the hint set, the tool bar stays on top and does not get deactivated along with the application by the WM. Task-number: QTBUG-41189 Change-Id: I6f3f334860e46dd4867f5942f15e5a090340f2d7 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
| * qt_mac_loadMenuNib: Prevent stale NIB files by diffing file sizeTor Arne Vestbø2014-12-051-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we're changing the contents of the nib files in Qt, we need to overwrite the nib files that we write to /tmp, as QFile::copy() does not overwrite files. This also catches the case where the files in /tmp are empty due to a possible broken qrc-run, where re-runs of qrc to fix the resources would still leave the corrupt nib in /tmp, resulting in: -[NSKeyedUnarchiver initForReadingWithData:]: data is empty; did you forget to send -finishEncoding to the NSKeyedArchiver? And as a consequence: qt_mac_loadMenuNib: could not instantiate nib ASSERT: "mainMenu" in file qcocoamenuloader.mm, line 154 Change-Id: I2907a32d1a56c23a27343c81839a06b65a529372 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * Fix warnings by MSVC 64 in qtranslator.cpp.Friedemann Kleint2014-12-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | kernel\qtranslator.cpp(880) : warning C4267: 'initializing' : conversion from 'size_t' to 'const uint', possible loss of data kernel\qtranslator.cpp(881) : warning C4267: 'initializing' : conversion from 'size_t' to 'const uint', possible loss of data kernel\qtranslator.cpp(882) : warning C4267: 'initializing' : conversion from 'size_t' to 'const uint', possible loss of data kernel\qtranslator.cpp(975) : warning C4267: 'initializing' : conversion from 'size_t' to 'const int', possible loss of data Task-number: QTBUG-39757 Change-Id: I54f130e1d83ecc1623ab3c7b9b4fb14de6351625 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Doc: corrected autolink issues qalgorithms.qdocNico Vertriest2014-12-051-44/+44
| | | | | | | | | | | | Task-number: QTBUG-40362 Change-Id: Ia609b68b52472342d791a032974a3d866e8d3266 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Merge "Merge remote-tracking branch 'origin/5.4.0' into 5.4" into ↵Simon Hausmann2014-12-057-12/+306
| |\ | | | | | | | | | refs/staging/5.4
| | * Merge remote-tracking branch 'origin/5.4.0' into 5.4Simon Hausmann2014-12-057-12/+306
| | |\ | | | | | | | | | | | | Change-Id: I0cd11cbe95693b78450ea81a0187760f4a6a8b5f
| | | * winrt: Fix window resizev5.4.0Andrew Knight2014-12-051-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fixed-size EGL display must be updated on PC as well as Windows Phone. Task-number: QTBUG-43112 Change-Id: I0ba90370b67e8c065843e5754579e341b647266d Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | | * Android: Fix broken system paletteEskil Abrahamsen Blomfeldt2014-12-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we overwrite the default palette, we have to make sure we don't overwrite default values with black for all the colors that are not retrieved from the json file. We would for instance get black as both the base color and text color which would make some components unusable. Change-Id: I1079a70a0ac7eb379ed5e8d92c6b39c2ea77ba49 Task-number: QTBUG-42812 Task-number: QTBUG-42998 Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| | | * QOpenGLFramebufferObject: pass sized format also with dynamic GLAndrew Knight2014-12-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL_RGBA8_OES define is not in scope for dynamic OpenGL builds, so pass in GL_RGBA8 instead (it is defined as the same value, 0x8058) when in ES mode. The functionality check already ensures the extension is available, so the ifdef guards can be removed. This fixes default multisampled FBO creation under ANGLE when using -opengl dynamic. Task-number: QTBUG-40921 Change-Id: Iac4b7e230a463c27b61af75c3307421f9deac856 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| | | * winrt: Fix Windows Store CertificationAndrew Knight2014-12-011-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WinRT requires that IDXGIDevice3::Trim() is called on application suspend in order to pass Store Certification. Task-number: QTBUG-38481 Change-Id: Ia3cb5d3f6a2db8f11e4bfa4fd5c7791e18d6c36d Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| | | * FSEvents file system watcher: Do not watch whole parent hierarchies.Eike Ziller2014-12-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately the FSEvents implementation for watching parent hierarchies has the major flaw, that watching a path will then create watches for the whole parent hierarchy even if that hierarchy is already watched. Watching /A/B/C and /A/B/D will create two watches each for /A and /A/B. This leads to an explosion of open file handles. Luckily we do not need to watch the parent hierarchy since this is not a supported usecase of QFileSystemWatcher anyhow, so just don't do it. Task-number: QTCREATORBUG-13531 Change-Id: I9ecb5f08e4be35e4fbd58a7ca3155867fcb1589f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| | | * Make QtDBus compile without libdbus-1 headers, if dlopeningThiago Macieira2014-12-013-2/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of QtDBus already needs very little from libdus-1, so create an extra header containing the minimum API we actually need. One large advantage of this solution is that now QtDBus can always be enabled, even if the system doesn't have libdbus-1 installed. This is interesting on OS X, where libdbus-1 is often installed by Homebrew or MacPorts, which may include extra libraries we don't want in our packaging. Change-Id: I1b397121ec12eeca333ef778cf8e1c7b64d6b223 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * | | Fix QOpenGLWidget/QQuickWidget GUI freezePaul Olav Tvete2014-12-051-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A window with a renderToTexture child uses the OpenGL path, but when we open a popup or dialog, that uses the raster compositor, which opens a separate surface. This patch fixes two issues when combining GL rendering with the raster compositor: 1. GL-rendered widgets were counted as part of the raster-rendered region, meaning that we did not punch a hole in the raster surface. 2. We did not destroy the surface when no longer needed. Task-number: QTBUG-41467 Change-Id: I2a2a0e860cce065b330df1c864d51fd02103aa1b Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com> Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * | | QMacStyle: Fix 32-bit buildGabriel de Dietrich2014-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Again one of those CGRect vs. NSRect issues. Change-Id: Ia933cd6f002585e21247d2f9f85d2451db6dbaa0 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
| * | | Reformat QOpenGL2PaintEngineExPrivate a bit to make it easier to refactorTor Arne Vestbø2014-12-051-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I99f7192008ae8ea3a16f5300e5e4ebdde50847af Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | | WinRT: Only set keepalive socket option in certain socket statesOliver Wolff2014-12-052-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The keepalive socket can only be set if the socket is not connected (see http://msdn.microsoft.com/en-us/library/ie/windows.networking.sockets.streamsocketcontrol.keepalive) Task-number: QTBUG-38623 Change-Id: Ia40dc66f071a8109538e4be7a8f420de81d5be8d Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
| * | | QColumnView: don't set an invalid index as the current oneGiuseppe D'Angelo2014-12-051-2/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When any item in a QColumnView gets selected, the next column gets normally set to show the children of that index. When we are on a leaf of a tree model, the next column will have an invalid root index, yet we set that root index as the "current index" for the current column. Due to the special handling for invalid indexes in QAbstractItemView::setCurrentIndex, this ends up breaking the current item AND the current selection in that column. Further clicks inside the column for instance trigger the entire column (up to the clicked index) to get selected, because of that broken first setCurrentIndex. The simple fix is to stop doing that when the next column has an invalid root index. Task-number: QTBUG-2329 Change-Id: Icd10c0b958e25cd868536e1315561787977b68bd Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * | Draw the accessibility focus rectangle properlyJan Arve Saether2014-12-052-23/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the accessibility focus rectangle was only visible when it overlapped with the m_editText View of QtActivityDelegate. The reason for this is not completely verified, but this is the most likely reason: * The SurfaceView and QtLayout (ViewGroup) does not do any drawing themselves. Due to this their default value of the View::willNotDraw property is true. Because of this Android might assume there is no content for the focus indicator to surround. (This was verified with setting the willNotDraw property to false on the accessibility view); * Another possible reason could be that overlays does not work for SurfaceView. It is documented that overlays does not work for SurfaceViews, so therefore it tried to use the overlay of another view. For some reason it picked the m_editText overlay instead of the QtLayout overlay. See here about overlay: http://developer.android.com/reference/android/view/View.html#getOverlay() The solution is to add another View that covers the whole screen, which will be used solely by android to draw the accessibility focus indicator. In addition, we change the QtAccessibilityDelegate to no longer have the SurfaceView as a host, but have the m_accView as a host (the host can be freely changed, since all accessibility nodes are virtualized through the delegate anyway) For the record, this will be the current ordering of views in QtLayout: (back-to-front order): Qty Default Qty * Surface View(s) >= 1 1 * Accessibility View == 1 1 * Native View(s) >= 0 1 * m_editText View == 1 1 where the m_editText migth be interleaved among the Native Views. [ChangeLog][Android][Accessibility] Fixed an issue where the accessibility focus rectangle was not drawn properly Task-number: QTBUG-38869 Change-Id: I64d6b6ec45b27d0d93ac9dd840de764c18c55d04 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * | Windows: Skip calculating margins for Qt::FramelessWindowHint.Friedemann Kleint2014-12-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always skip calculating style-dependent margins for windows claimed to be frameless by Qt. This allows users to remove the margins by handling WM_NCCALCSIZE with WS_THICKFRAME set to ensure Areo snap still works. Task-number: QTBUG-40578 Change-Id: Ice7771df8fbf59b370568219d10c12ce04e99628 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * | Fix loading of web fonts with broken hinting bytecodeAllan Sandfeld Jensen2014-12-042-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Fira Sans font by the Mozilla Foundation has bytecode that goes into an infinite loop. Fortunately FreeType catches the case, but we fail to render any glyphs and spends too long trying the bytecode on every glyph. This patch instead switches the font to auto-hinting when this error is encountered. Task-number: QTBUG-41034 Change-Id: Icd044b41396a06fb435bc189cdbd71d703107de6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | QDockWidget: Prevent repetitive unplugging of floating dock widgets.Friedemann Kleint2014-12-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling QDockWidget::setTitleBarWidget() from within signal QDockWidget::topLevelChanged(), a nested call of QDockWidgetPrivate::setWindowState(unplug=true) is triggered, leaving it with Qt::X11BypassWindowManagerHint set and thus invisible/off screen. Force the unplug parameter to false if the widget is already in floating state. Task-number: QTBUG-42818 Task-number: QTBUG-38964 Change-Id: I6aff61e4ee1501f5db281566b66db66c19351410 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
| * | Windows: Handle WM_WINDOWPOSCHANGING during window creation.Friedemann Kleint2014-12-043-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings: QWindowsContext::windowsProc: No Qt Window found for event 0x46 (WM_WINDOWPOSCHANGING), hwnd=0x0xde0408. occurring when using Active X controls. Factor out message handling to a static function which can be used during window creation when QWindowsWindow does not yet exist. Task-number: QTBUG-36318 Change-Id: I3ce56fd377e3392b0dd22d3d26a7048065380f13 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| * | Don't make invalid assumptions about memcmp()Albert Astals Cid2014-12-041-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | In qtranslator.cpp match() Task-number: QTBUG-39757 Change-Id: I49e3ccc0ce900564bbe14609bfda47688382d5f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | FreeType: Fix font rendering with fonts with embedded bitmapsSérgio Martins2014-12-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only reproduced with Windows font Calibri. This font has both outline (vector) and bitmap glyphs. QFontEngine_FT has an hack to get metrics from EBLC table, but this might fail, resulting in a 0 ascender and descender, meaning QFontMetrics::height() will be 0, meaning totally broken text. This patch checks for that failure, and fallbacks to the outline metrics instead of the bitmap ones. Task-number: QTBUG-42898 Change-Id: If33fc3404d0c7f84557f8c4a5ae71b30f78d60a7 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | Windows: Bring FreeType rendering up to par with other platformsSérgio Martins2014-12-042-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The text was very washed out, almost white on small font sizes. This ifdef was introduced to cater for GDI differences between Vista and Pre-Vista, it's GDI specific, nothing to do with FreeType. Text now looks good, and md5sum of the rendering is the same as on Linux. Task-number: QTBUG-42564 Change-Id: I2e06b83b80df093331454fe1b780d26462db597d Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * | Collate calls to updateTextureFilter in updateBrushTextureTor Arne Vestbø2014-12-041-4/+5
| | | | | | | | | | | | | | | | | | Change-Id: Id13d5bc122c4f9cc8f44ff82df345a50f2944118 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | Revert "Use single finger pan to scroll text edits on touch screens."Tor Arne Vestbø2014-12-041-21/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2ffa46054d13c639cf9f7846a74ad3ebd07b9f5c. It completely broke text selection in text edits on iOS, and wasn't even tested on that platform before landing. It's also changing behavior in a patch release for multiple platforms, from being able to both scroll and select text, to only being able to scroll, which would be considered a feature-regression and an automatic -2 on the original patch. This means QTBUG-40461, a P2 regression from Qt 4 on Windows, will have to be re-opened, so that we can fix it properly. Task-number: QTBUG-43101 Change-Id: I26a2bafb4500b1ff4dc3fb942f197d11038b630b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | Revert "QWidgetTextControl: Suppress drag selection for OS-synthesized mouse ↵Tor Arne Vestbø2014-12-043-35/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | events." This reverts commit cf0d96f4c8584a7eb9eeca304932f6ea88894b27. It broke text selection on iOS and was never tested on that platform. Task-number: QTBUG-43101 Change-Id: I9f224a3838a1f741bc9a9c24f16923ef2018ddf3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | QMenuBar: fix extra indent on the right with a TopLeftCorner widget.Friedemann Kleint2014-12-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When setting a left corner widget on a QMenuBar, the first action rectangle is offset by its width and thus the width should not be added to the size hint. Use QSize::expandedTo() instead. Task-number: QTBUG-36010 Change-Id: I660e3facbd0aeb5fb84fac8923db3e0c7998309d Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>