| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Make sure num_glyphs pass to HarfBuzz is large enough
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(Backport from master)
Currently we only pass the num_glyphs for the run to
HB_ShapeItem, but it can be less then the string length
for this run because of Unicode surrogates. Thus, we need
to pass at least the length of that run as num_glyphs to
HB (given that we have enough space allocated because for
the entire string), if that's still not enough, we will
do ensureSpace again according to the num_glyphs returned
by HB and move remaining glyphs backwards.
Task-number: QTBUG-15679
Reviewed-by: Lars Knoll
|
|\ \
| |/
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Don't crash calling QTextDocument::blockBoundingRect on invalid block
|
| |
| |
| |
| |
| |
| |
| |
| | |
If the block is invalid, QTextBlock::layout() will return 0 and we would
dereference a null pointer.
Task-number: QTBUG-18192
Reviewed-by: Jiang Jiang
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Designer: Fix a bug affecting tab reordering of promoted tab widgets.
Designer: Fix a bug clearing the Z-Order when adding a new widget.
Adjust right bearing when breaking with line separators
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we found a forced line break with line separator (e.g. '\n'),
take the right bearing of previous glyph into account, otherwise
the resulting text width will be slightly smaller than the one
without a line separator.
Task-number: QTBUG-17020
Reviewed-by: Eskil
|
|\ \
| | |
| | |
| | |
| | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml:
Fix TextEdit mouseSelectionMode overriding selectByMouse.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If selectByMouse is false don't allow any text selection on mouse
move.
Change-Id: Ic9f309899bc0de48066a2393e088e15b3a2f06db
Task-number: QTBUG-18072
Reviewed-by: Martin Jones
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fix QGraphicsScene returning incorrect focus item.
Not requiring valid QTextBlock in previous()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 64852122ba7 introduced a regression in QTextBlock::previous(),
programs that do doc.end().previous() will not be able to retrieve
the last valid block. Revert this change so that we can keep the
behavior consistent with previous versions.
Task-number: QTBUG-18026
Reviewed-by: Eskil
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml:
Fix unstable qdeclarativeflickable test.
Update TextEdit's visible selection when only the anchor changes.
Set correct initial value for TextEdit and TextInput canPaste property
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
At the limits of a TextEdit's text a key press can change/reset the anchor
position without changing the cursor position. Checking the cursor position
alone isn't enough to determine the selection hasn't changed.
Change-Id: Ic425ac0c06897d77e9c86b907ff10b39d78dd7a1
Task-number: QTBUG-17982
Reviewed-by: Martin Jones
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml:
Fix TextInput auto test failure on mac.
Fix word selection locking on string boundaries.
Fix potential crash in QTextControl.
QDeclarativePropertyMap::keys() cannot be called from qml
Compensate for horizontal scroll in TextInput micro focus.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
inputContext() is only safe to call if there is a current
contextWidget.
Change-Id: I6cbccf5f5fbb2d8c9ca6acf5f7e02f680eb84483
Reviewed-by: Andrew den Exter
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fix Mac synthesized italic fonts clipping issue for QGLWidget
Fix cursor position adjustment when removing strings
Fix out of bounds handling in Mac shaper
|
| |
| |
| |
| |
| |
| |
| | |
Backport 43d5a0757d857c2a6694ae81d6b70c04ef876aff from 4.8.
Task-number: QTBUG-16954
Reviewed-by: Eskil
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 0ba1b4d0 introduced a regression to QTextDocument: it postponed
cursor position adjustment until the move operation is done, but
contentsChanged will be triggered by finishEdit() in this move
operation, thus cursor positions in this signal handler will be in
inconsistent states (normally we should first update cursor position
then trigger contentsChanged). In this case we should also postpone
finishEdit() handling after cursor positions have been adjusted, then
the states expose to applications will be consistent.
Task-number: QTBUG-15857
Reviewed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After ensure space, local QGlyphLayout variable should be updated to
the moved address.
stringToCMap returns true for success, so stringToCMapFailed should
be the reverse of the return value.
Out of bounds happened quite often in all situations using the
QStackedTextEngine, because the memory allocated at the first time
is usually not much, making it easier to trigger out of bounds in
shaping. But it can also happen when using normal QTextLayout.
Test it by comparing the width returned by normal QTextLayout and
the width returned by QTextLayout created from QStackedTextEngine
via QFontMetricsF.
Task-number: QTBUG-16648
Reviewed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This brings TextInput in line with QLineEdit. The fix for TextEdit
applies equally to QTextEdit.
Change-Id: I5c47e5c8e951ee53cb1fe45d9c302050cd19deef
Task-number: QTBUG-15705
Reviewed-by: axis
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master.
- MultiplyHeight becomes ProportionalHeight
- PixelHeight becomes FixedHeight
Change-Id: I2a1ebc6ff9db7e62f513919f19773f985b08f8d7
Reviewed-by: Michael Brasser
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds an option to do per word selection when selectByMouse is true.
Also changes the selection behavior so that the first word selected
remains selected when the direction of the selection changes which
is more consistent with other implementations including the existing
per word selection in QTextEdit.
Task-number: QTBUG-16283
Reviewed-by: Martin Jones
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change adds the lineHeight and lineHeightMode properties.
Task-number: QTBUG-14296
Reviewed-by: Martin Jones
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
Conflicts:
src/declarative/graphicsitems/qdeclarativegridview.cpp
src/declarative/graphicsitems/qdeclarativelistview.cpp
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Temporary fix for ambiguous cast from four letter char constant
Fix QMAKE_POST_LINK in Symbian for targets with special characters.
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 0ba1b4d0 introduced a regression to QTextDocument: it postponed
cursor position adjustment until the move operation is done, but
contentsChanged will be triggered by finishEdit() in this move
operation, thus cursor positions in this signal handler will be in
inconsistent states (normally we should first update cursor position
then trigger contentsChanged). In this case we should also postpone
finishEdit() handling after cursor positions have been adjusted, then
the states expose to applications will be consistent.
Task-number: QTBUG-15857
Reviewed-by: Eskil
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QTBUG-6611 implemented the long awaited app font support on Symbian. One
of the problems with the underlying Symbian Api for font loading is that
all fonts go into one system wide font store on fbserv. All fonts are
visible to and accessible by every application. And there is no way to
find out if a font is an app font and whose process' app font it is. If
a font with a certain family name is already loaded on fbserv, no other
application can load its font with the same family name. If two
applications access the same font, bad things can happen (details:
QTBUG-16514).
This patch works around naming collisions on the fbserv. It also
prevents Qt applications from using other Qt applications' app fonts. It
does so by "marking" the name of the temporary ttf file before the file
gets loaded by fbserv. All font name strings in the font's 'name' table
get a marker string appended. The marker is composed by a "Q", the uid3,
and on Symbian^3|PR1&below the pid. The marker length is four characters.
When the QFontDatabase is populated, all own app font names are cleand
from the marker, so that the Qt app can use the original font name. Other
applications' app fonts are detected and filtered out of the own font
database.
Symbian's font Api supports only 24 characters as names for font
families. The name marker reduces the effective characters to 20. The
reduced name length is documented for
QFontDatabase::addApplication[FontFromData] as a note.
Since the app font feature is much safer now, it got re-enabled for
Symbian^1 and below by reverting
25ac59fcf1bb03c9af9a2c967218c96c7c77361a .
Task-number: QTBUG-16514
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
read http://bugreports.qt.nokia.com/browse/QTBUG-16514 for
a recipy to reboot the phone just by handling with fonts.
Symbian^1 is vulnerable, and Symbain^3 prevents a phone reboot.
Therefore, I prefer to disable the app font feature for
Symbian^1, until QTBUG-16514 us properly handled.
Task-Number: QTBUG-16514
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch finally implements the missing application font support on
Symbian. QFontDatabase's addApplicationFont[FromData],
applicationFontFamilies and removeApplicationFont are now functional and
allow an application to load, use and unload fonts at run-time.
The underlying Symbian API comes with some restrictions/specialties.
Most of them are worked around in this patch, the missing ones are left
as part of QTBUG-16514:
- The font file must be a file, not a memory buffer. Web fonts and qrc
fonts come as memory buffers. These buffers are saved to a temporary
.ttf file and the file is loaded by the underlying Symbian API. The
temporary file can only be deleted after the font is unloaded.
- The font file must be in a public location in order to be loadable by
Symbian. It can for example not reside in the private application
directory. Therefore, all application fonts (also those that are on the
file system) become a temporary .ttf file in c:\temp\.
- Symbian3/PR2 will come with a font table API which provides direct
access to font tables. Symbian3/PR1 and below are missing this API,
therefore, an own TFontStore is (ab)used to read font tables out of a
font. This patch is considering both code paths in several occasions,
making the Qt Symbian font implementation significantly less
maintainable.
- The fonts are loaded into Symbian's central font server. Loaded fonts
from different processes can have colliding font typeface names (not
file names) on that server. The server does not separate loaded fonts by
their origin processes. Working around such collisions is part of
QTBUG-16514.
The number of fonts loadable at the same time by a Qt application is
limited to the random value 5. Just to prevent abuse of the font
server's memory.
As usual, this patch was looked at by colleagues, and it was adjusted
according to the feedback. But since the bus factor for the
interaction of Qt's and Symbian's font systems is 1, I reviewed this
patch, myself.
Task-Number: QTBUG-6611
Autotest: tst_QFontDatabase::addAppFont
|
|\ \
| |/ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
QFont/Windows: restrict the pixel size accuracy
Update copyright year to 2011.
For non-developer builds, skip test that requires private API
tst_qhttpnetworkconnection: Compile fix
Change QHostInfoCache to use QElapsedTime instead of QTime.
Fix for qtdemo bug
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Like on all other platforms, the pixel size accuracy is now restricted
to two digits after the decimal point.
Task-number: QTBUG-15688
Reviewed-by: Jiang Jiang
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We should check not just p but also n in next()/previous(),
which is what isValid() does. Otherwise n == 0 will cause
crash in QFragmentMap.
Task-number: QTBUG-16279
Reviewed-by: Eskil
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Fixes crash in QGraphicsItem's destructor.
Doc: Fixing typo
|
| | |/ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
operator[]
Improves scrolling in testfile content.xml attached to QTBUG-9549.
According to callgrind, the improvement is nearly 35% (comparing total incl. cost of QTextEngine::setBoundary)
total incl cost / calls to setBoundary =
before: 6.0883269E9 / 46520 = approx. 130875.47
after: 2.4834313E9 / 29370 = approx. 84556.733
in relation this gives us: 84556.733 / 130875.47 = approx. 0.64608542
Merge-request: 975
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
|
|/
|
|
|
|
|
|
| |
Add a dragEnabled property to QTextControl so text dragging can
optionally be disabled.
Task-number: QTBUG-16248
Reviewed-by: Martin Jones
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Symbian Font Table API is a feature from (the former)
Symbian^4 which will be backported into Symbian^3 in a
random minor OS version. In order to keep Qt source and binary
compatible between these minor versions, we cannot decide at
compile time whether or not to use the new Font Table API.
This patch changes many "#ifdef Q_SYMBIAN_HAS_FONTTABLE_API"
into "if (symbianFontTableApiAvailable())". The Font Table
feature is detected at runtime. Currently, CFeatureDiscovery
is not used, because at the time of writing, that feature flag
test would give false positives or false negatives. Instead,
CFont::ExtendedFunction() is called with KFontGetFontTable to
see if the return value is KErrNone, which indicates that the
feature is available. The avalibility information gets cached,
so the hack happens only once per application run.
The font table Api feature comes with helper classes such as
"RFontTable" and "TGetFontTableParam". But we cannot use those,
because we want to stay source and binary compatible across the
Symbian(^3) versions without the Font table API and those with.
So, in Qt, RFontTable is simply not used and TGetFontTableParam
is replicated as "QSymbianTGetFontTableParam". Same for
KFontGetFontTable, KFontReleaseFontTable and later also
FfFontTable.
This patch has been looked at by colleagues, who verified the
overall #ifdef to if() conversion, but did not feel entitled to
give their official Reviewed-By for an obscure topic like Qt
font support on Symbian. (It sucks to be the only creature in
this universe who -kind of- knows how Qt text handling and
Symbian text handling interact)
Task-Number: QTBUG-15515
|
|
|
|
|
|
|
|
| |
6f6c25b6 introduced this regression because it didn't check d->lout
before calling d->lout->documentChange().
Task-number: QTBUG-15777
Reviewed-by: Eskil
|
|
|
|
|
|
|
|
|
| |
Doing selectAll() after the entire block of text has been removed
will cause this crash, because we didn't check if the block we
found is valid or not.
Task-number: QTBUG-15857
Reviewed-by: Eskil
|
|
|
|
|
| |
Strict aliasing is violated here, so just silence the compiler (GCC)
by using an extension.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QStaticTextItem held an uncounted reference to QFontEngine. The
pointer would dangle in some cases where there was no font object
referencing the engine and the cache was cleaned out (e.g. when a
new application font is added.) Properly count the reference, and also
add reference counting to userData to make it harder to shoot yourself
in the foot, since the QStaticTextItem class is now being used in
different places,
Task-number: QTBUG-14446
Reviewed-by: Martin Jones
|
| |
|
|
|
|
|
|
|
|
| |
The pixelSize ends up being 0 unless these changes are applied. Must be
a compiler bug in GCC 4.3.x, fixed in GCC 4.4.1.
Reviewed-by: Prasanth
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some Symbian versions (apparently <= Symbian^1),
CFont::GetCharacterData() returns 8-bit data with gray values
0x00, 0x10 ... 0xe0, 0xf0 due to a bug. The glyphs are nowhere
perfectly opaque, which is bad for blitting.
This has been however been fixed for Symbian^3.
The funny thing about this tweak was that it was only executed
on Symbian^3 (with the OpenVG/OpenGL paintengines). On Symbian^1
and below (rasterpaintengine), QFontEngineS60::alphaMapForGlyph()
does not get called at all, anymore.
Therefore, the removal of this tweak should not be noticable
anywhere, except that on Symbian^3, quite a few CPU cycles are
now saved.
See the attachments in QTBUG-14419 for details.
Task-Number: QTBUG-14419
Reviewed-By: TrustMe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Addition to ab057be7228d20d909246183505b72e821cc440f)
Instead of using a glyph_metrics_t (which gets filled with
data from a TOpenFontCharMetrics), we use a
TOpenFontCharMetrics, directly.
Also, the advances_y gets set to 0. Like on the other
platforms.
These change increases the Fps in
qt\tests\manual\textrendering\textperformance "Latin" from 16.5 to
16.6 Fps on an XM5800. I am sure that I can construct a benchmark
where the speed gain is bigger.
Task-number: QTBUG-14378
Reviewed-by: TrustMe
|