This matches the Unix behavior, and ensures atomicity (as required by QSaveFile)
Change-Id: I54ec98bcd7a0714ca968cad627a5e4d684fd7af6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The number of iterations was not respected for XML output, unlike for
plain text output. With this fix, benchmarks report the same result
for plain text and XML formatted output.
Compare the change to qplaintextlogger.cpp:274.
Change-Id: Ieb3e5812e18d93c36847bef0417f779efd300f86
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
The subpage listing all the members of a QML type,
including the inherited members, was trying to use
an old format that works ok for C++ classes but is
not optimal for QML types.
The redesigned format for QML types still lists all
the members but it lists the members for each base
type in a separate list.
The members for a QML type that has been marked as
abstract are listed with the members of the type
that inherits the abstract type.
This fix does not fix QTBUG-30111, which will be
fixed in a separate commit. This means that some
links on the subpage generated by this change
will be links to a page that doesn't actually
contain any documentation for the linked member.
But it will eventually.
Task-number: QTBUG-30114
Change-Id: I8ae4227d1eaecdbc24a4ac9b8119f0ced2cdee92
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
postEvent() accesses it with the postEventList mutex locked, but
processEvent() was checking it without any mutex locked.
Change-Id: I31bbb50f7a1c337067b8e3de16ee7cd11400b517
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It's read and written by different threads, so this was a race.
Change-Id: Ieffaa169eb67f40dc935291b3994f9ff1c7e05f0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I87e0b2e11670ea71da8e4d2f718dc97dd32dd57d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Re-use the QCocoaWindow implementation.
This gives a small performance boost since NSWindow
can skip drawing the background if it knows that the
content view will fill with opaque pixels.
Change-Id: I4a9a14135d890e9132dd1cb0af5a1c1a769d7e2f
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
This was accidentally removed as part of the merge from
dev.
Change-Id: I102ff0d67a136b0dbe467d83edccf02880536d7f
Reviewed-by: Liang Qi <liang.qi@digia.com>
Use persistent data to specify the alternative location
of Qt libraries instead of command line arguments, so that the
application can be run from the launcher and not just from
Qt Creator.
Task-number: QTCREATORBUG-8643
Change-Id: I72df2905f3f35a3b924edd47d3a5387e674c97ac
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Preparing the addition of toNSMenu() functions to QtMacExtras which
will expose the native handle of a QMenu or QMenuBar.
Task-number: QTBUG-28869
Change-Id: Ib07712f5da0758addbbf8a84d6881297420e7ac8
Reviewed-by: Harri Porten <porten@froglogic.com>
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
When switching from Xlib to xcb platform plugin it was agreed that
XIM is deprecated. Users should be using QT_IM_MODULE to load input context
plugin for a more advance input method framework support.
The proposed solution is to parse the compose file directly from Qt. This
approach removes the overhead of communication protocols used in Xlib and/or IBUS.
TableGenerator class follows [1].
The compose file is searched for in the following order:
1) If the environment variable $XCOMPOSEFILE is set,
its value is used as the name of the Compose file.
2) If the user’s home directory has a file named
.XCompose, it is used as the Compose file.
3) The system provided compose file is used by mapping the
locale to a compose file from the list in
/usr/share/X11/locale/compose.dir.
Regarding step 3 - TableGenerator searches in hard-coded locations for
system-provided compose files. Here I have introcuded a new environment
variable QTCOMPOSE which can be used to prepend an extra location
to be searched.
[1] http://www.x.org/archive/X11R7.7/doc/man/man5/Compose.5.xhtml
Task-number: QTBUG-28183
Change-Id: I76dcfd454f3acc23db98192a3673c1ab2af4425f
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
If a popup is transient for another window, the other window should
not be resizable while the popup is open. (Resizing didn't close the
popup, either.) The popup is emulated with an NSPanel rather than
being a native popup, so we don't get this behavior for free.
Task-number: QTBUG-30266
Change-Id: I49d04a095b428d169fe36ae1768c889578c3c054
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
The purpose of PE_Frame is to draw the frame, not the background. The
old code tried to check whether a custom base brush was set, and
otherwise let the theme draw the background. That didn't work together
with CSS background images. This change removes the background drawing
from PE_Frame, and let's PE_Widget to draw the background using the
base brush that defaults to a color fetched from the theme.
Task-number: QTBUG-24783
Change-Id: Iaddfcbd613122a9aed39e77ba05a26f94995f7d2
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Check for QAccessible::StaticText role in addition to EditableText, to
get correct frame for non-editable text widgets, such as QTextBrowser.
Task-number: QTBUG-24783
Change-Id: I2c3e4f4fa06c8122485b1bc6c1da04c7565c7223
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
In reset() if SqlExecDirect returns SQL_NO_DATA the column metadata
is ignored.
Change-Id: I0501fa47c42754bba42b3531da59e66c696eac53
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
The QODBCResult::exec() returns false when query is an delete
with no data do delete caused by SQLExecute function returning
SQL_NO_DATA, but the false return means error on execution.
Task-number: QTBUG-10569
Change-Id: I6c7ebadcf62ab404b60c7bcccdab6a10bf16a923
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Change-Id: I957d662d677766732f324e48a6bc42f23f1a444c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Change-Id: If454627be464e388cb8f529a6041d3ec804f22ce
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
this is cleaner than having it parse qmake project files.
the only remaining built-in version extraction is the fallback to
qglobal.h needed for bootstrapping.
as a "side effect", this fixes the build of modules with mismatched
versions centralized in .qmake.conf, as this was simply not handled so
far.
the -mkspecsdir syncqt option goes away, as there is no use case for it
any more.
Task-number: QTBUG-29838
Change-Id: I6912a38f0e93a26bc267a9e3d738506fd3ad431b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
There is some code duplication between QMacStyle anf the Cocoa QPA
plugin regarding painting and bridging with Cocoa.
Task-number: QTBUG-29725
Change-Id: I347407a9bca47b6fccd77fb924688bd35135d96b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
(cherry picked from commit 5f948eb62d)
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Added new environment parameters QT_QPA_EVDEV_KEYBOARD_PARAMETERS,
QT_QPA_EVDEV_MOUSE_PARAMETERS and QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS to the
evdevkeyboard, evdevmouse and evdevtouch input plugins. In order to get
evdevkeyboard support for keyboard layout, explicit device file and more.
Change-Id: I0d9139cd0d4b682ab2df7c16ebd16d4d9c0c0ab0
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Added code to check to see if the menu item already exists in the
application menu before adding it.
Change-Id: Ie0a5eab3c61d5a3413a834d2e57bab40660f6802
Task-number: QTBUG-27202
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
1. when there were some engines with ref > 1 in the cache, prior to calling
QFontDatabase::{add,remove}ApplicationFont()/removeAllApplicationFonts()
(QFontCache::clear() has never decreased engine's cache_count);
2. when the QFontEngineData's engine is not in cache i.e. the Box or Test font engine
(~QFontEngineData() didn't free engines it keeps).
Instead of using the font engine's (external) "cache_count" counter,
QFontCache now references a given font engine every time it is inserted to
the cache and dereferences exactly that number of times in clear().
Change-Id: I87677ebd24c1f4a81a53526f2e726e596b043c61
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
... when the compiler do not support variadic template
Change-Id: Iec84cad8ece2fc28b0c224872fdd90d30ae60fc9
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When variadic templates and decltype are supported, detect the best
overload of operator() to call.
Currently, the code takes the type of the operator(), which requires that
the functor only has one, and that it has no template parameter.
This feature is required if we want to connect to c++1y generic lambda
(N3418)
Change-Id: Ifa957da6955ea39ab804b58f320da9f98ff47d63
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Else, the operator,(T, ApplyReturnType<void>) is sometimes chosen if a
pointer is passed, and that is breaking some decltype expressions.
(such as the one in ComputeFunctorArgumentCount in the next patch)
Change-Id: Ic203bbb1a8f5abbebb3b11786454807aa20be5fd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Add window minimization capability on the plugin.
Change-Id: I4539d29b8ebbef935213edde634f0a85b6a21766
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
As of now, we'll have everything related to the additional formats handling
just in a single place. Make specialData private to prevent accessing it
from outside. This helped in tracking-down several related issues:
- in format(const QScriptItem *), the resolvedFormatIndices can not be empty
at that point, so the code path is dead;
- in resolveAdditionalFormats(), testing if formats has not been indexed yet
is not needed since they are indexed just in the setter;
- in useRawFont mode, hasFormats() didn't check if QTextEngine really
has some formats, which potentially leads to formatting artifacts.
Change-Id: Id4b912888fd5a1fa83f01007170134b6386e2879
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Change-Id: Ic93054d8fc68497fb0bcc2c5491924b9c57b78ad
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Padding was correctly added between glyphs but it was missing at the
texture edges.
Change-Id: I6d5e1206194f6aecefcfc45ead22d54c1207de4f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
qdoc was using the method signature (beginning
with the return type) to sort methods for listing
in the HTML output. Now qdoc sorts on the method
name, which makes the list easier to read.
Task-number: QTBUG-29708
Change-Id: If3785ccd5849df53b01043c2dada0b6bf3c00614
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Instead of first finding it and then testing that we can find it.
Change-Id: I1a1090693520b1d6adadef93839f25d277947e76
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Ignoring the mouse means you don't get window enter/exit events for
that window either.
Task-number: QTBUG-30122
Change-Id: I979be9f72f7d225d7b960fc5db4c3956d2749982
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
UIApplicationDelegate's willFinishLaunchingWithOptions message was
introduced in 6.0. For now we don't need to distinguish the two, so
no need to use willFinishLaunchingWithOptions on iOS >= 6.0.
Change-Id: Ic6c2c9d2901def5a5500b186ed57fbe8b8c556d1
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
QOPENGLF_APIENTRY masks over GL vs ES, as we need GL_APIENTRY on iOS,
where APIENTRY is not defined.
Change-Id: I60c097d67e0844c30913c913cf88a9b9e181813b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Short-lived benchmarks (benchmarks that complete in a very short period
of measured time) are often more affected by jitter and warm-up effects
than longer running benchmarks. Since QBENCHMARK stores the median
result of all accepted benchmark runs, a larger number of aggregation
runs is preferable for short-lived tests, but not necessarily for longer
running ones. The minimumtotal option, specified in units of the
selected measurement, will make the benchmark repeat a benchmark until
the total measured cost exceeds the specified threshold. The displayed
median result will then tend to be more accurate. This is especially
useful for data-driven benchmarks in case the data tags scale the
benchmarked operation from little to large cost.
Change-Id: Ib857de64aaffc77715a0000d36f0245f31d86b9a
Reviewed-by: Jason McDonald <macadder1@gmail.com>
From reading the code it can be ENOSPC or EMFILE
Change-Id: I2eecbf8afe0228d330210c25f299af12fab9cb64
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>