| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Task-number: QTBUG-8697
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Symbian, the top-level widget's backing store must be destroyed when
it is no longer required, in order to conserve memory. The criteria
for destroying the backing store is when neither the TLW nor any of
its native descendents (which share the backing store) are visible.
In order to implement this requirement, a count must be kept of the
number of native widgets which are using the TLW's backing store.
This patch provides the mechanism for maintaining this count, and for
destroying the backing store when the count is decremented to zero.
No calls to either the increment nor decrement functions are made,
however, by this code included in this patch; this code will be added
to only the Symbian backend by a subsequent patch.
Task-number: QTBUG-8697
Reviewed-by: Bjørn Erik Nilsen
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the paint engine now transforms the prerendered glyphs instead of
rendering transformed glyphs as paths, we need to turn on texture
filtering to avoid antialiasing artifacts. In order to do this, we also
need to pad the glyphs in the glyph cache, otherwise you will get
artifacts when sampling the area around the glyph's bounding rect (where
there might be other glyphs.) This done by adding a glyphPadding()
function to the cache which returns the number of pixels to pad between
each glyph.
Updated: This also fixes a general issue where some combinations of font
sizes and transformations will cause the engine to sample neighbouring
glyphs, so this has been backported to Qt 4.6.x.
Task-number: QTBUG-9706, QTBUG-11028
Reviewed-by: Tom
Conflicts:
src/gui/painting/qtextureglyphcache.cpp
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
|
|
|
|
|
|
|
|
|
| |
Fixes right alignment of monospaced text, which was a regression in
Qt 4.6.0. Initially it was fixed in Qt 4.7 only, but the regression was
later deemed severe enough to fix in 4.6.x as well.
Task-number: QTBUG-8864
Reviewed-by: thorbjorn
|
|
|
|
|
|
|
|
|
| |
Some lines and points could appear with artifacts when printed or
viewed in a pdf viewer. If a brush was set we also generated a fill
for the line/point, which was not correct.
Task-number: QTBUG-8451
Reviewed-by: Gunnar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When going through the special WebKit code path for text drawing and
forcing justification for text, we would set the justification in the
text engine, but never actually update the widths of the script items.
Since the width of the script item is used to position the text, the
text would be drawn with the correct justification, but the position
would be set based on the non-justified text width. The result was
overlapping text whenever the script of the text changed. The fix goes
through the justified glyphs and sets the width and position based on the
new effective advance.
Task-number: QTBUG-10421
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
| |
1. The Adobe EPSF 3.0 spec requires that the PS version of EPS files is
PS-Adobe-3.0.
2. The %%BoundingBox operator is documented to use integers, we used
to output floating point numbers when generating an EPS file.
Task-number: QTBUG-10121, QTBUG-10140
Reviewed-by: Kim
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
QMenu: Behavior regression
Mac: Graphics View starving user events and sometimes crashes.
Fixed a crash on Windows 7 systems with invalid PrinterPorts entries.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some Windows 7 systems appear to have invalid entries in the
PrinterPorts registry key. It's supposed to contain 3 entries, but
some return a single value.
Task-number: QTBUG-9938
Reviewed-by: Kim
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
RVCT 4 is far more strict with regards to symbol visiblity that RVCT
2.2, and will hide symbols unless all references have default visibility
in the object files. Update the various places in Qt code where the
symbol visibility was set incorrectly for DLL-based platforms (those that
use __declspec(dllimport) and (dllexport).
Note: QtWebkit and QtScript are fixed in different commits.
Task-number: QTBUG-9903
Reviewed-by: Jason Barron
|
|
|
|
|
| |
Merge-request: 541
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
|
|
|
|
|
|
|
|
| |
We were using gamma corrected 11 bit values instead of the 8 bit non-
corrected values, which caused some strange rendering effects.
Task-number: QTBUG-9036
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
| |
The m_dirty variable is not a bit flag any more. This caused the switch
in QTransform::type() to not match any of the transformation types, and
m_type was left at TxNone.
Task-number: QTBUG-8557
Reviewed-by: Gunnar Sletta
|
|\
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Fixed paint crash in Symbian for trasnclucent dialogs.
Implemented QLibraryInfo::TranslationsPath for Symbian.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In Symbian Qt::WA_TrasnclucentBackground is set for QDialogs.
In QTBUG-8706 there is setVisible(false) call for widget before
orientation is switched from portrait to landscape with SW APIs.
This setVisible call invalidates/marks the widget area, basically
whole portrait screen (0,0, 360, 640 in 5800XM) dirty.
The orientation switch changes backingstore/windowsurface size to
640, 360, and invalidates that area. As an consequnce the widget
dirty area after these two operations is 0, 0, 640, 640.
Now when the widget is made visible again, the dirty region is
larger than a screen and causes a crash when trying to access
windowsurface bitmap data outside its bounds.
Fixed the issue by using QPainter instead of own implementation.
QPainter handles intersecting with image automatically. Another
benefit of QPainter is that it uses platform specific drawHelpers
if available to speed-up drawing.
Task-number: QTBUG-8706
Reviewed-by: Jani Hautakangas
|
|/
|
|
|
|
|
|
| |
Since we don't clip the x-coordinates that end up in the edge table of
the QRegion rasterizer, we need to extend the coordinate range.
Task-number: QTBUG-7699
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
|
|
| |
QRasterGraphicsSystem tries to create QRasterPixmapData and
QRasterWindowSurface if QApplication::setGraphicsSystem("raster")
is used. On Symbian it should create QS60PixmapData and QS60WindowSurface.
Task-number: QTBUG-8762
Reviewed-by: Jason Barron
|
|
|
|
|
|
|
|
|
|
| |
QWS will make a window translucent if the background brush is not
opaque. Now we also support the cross-platform way of doing it.
This also includes fixes for bugs caused by behavioural changes in
the internal windowsurface/backingstore implementation.
Task-number: QTBUG-5739
Reviewed-by: Tom
|
|
|
|
|
|
|
|
|
|
| |
For some reason, doing a QPainter::translate(-0.5, 0) and then
QPainter::drawPixmap(0.5, 0, ...) doesn't result in a zero
transformation on Mac OS X. This is a workaround where we calculate the
device coords ourselves if it's only a simple translate operation.
Task-number: QTBUG-8455
Reviewed-by: Kim
|
|
|
|
|
|
|
|
| |
For example blending alpha 0xff with alpha 0xff and a 0.5 opacity gave
a result of 0xfe instead of the correct 0xff. This caused some
autotests to fail on ARM/NEON.
Reviewed-by: TrustMe
|
|
|
|
|
|
|
|
|
|
| |
The previous fix (baa7c3bdecc) attempted to fall back to path drawing in
QPainter::drawEllipse, however we have some specific filling rules for
aliased ellipse drawing in the raster paint engine. We should use the
(now free of fixed point math) drawEllipse_midpoint_i function on all
platforms.
Reviewed-by: Gunnar Sletta
|
|
|
|
|
|
|
|
| |
The fixed point code in the raster paint engine's drawEllipse() function
causes rendering errors on ARM. Remove untested code and use the vector
path fallback instead.
Reviewed-by: Gunnar Sletta
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (26 commits)
QLocalSocket::isValid on Windows must check for broken connection
fix pipe handle leak in qlocalsocket_win.cpp
GraphicsViewBenchmark: Run app in full screen mode on small desktops.
Fix Thai text on Windows 7
Fix License headers.
QTextCodec::codecForName. Insert in the cache in all cases.
Prevented calling the pixmap filter implementations with null pixmaps.
Make it possible to run benchmarks with the "-graphicssystem" switch.
Add support for running the GraphicsViewBenchmark application manually.
Bump version to 4.6.3.
Fixed a GLX warning that occured with some Intel chipsets under X11.
Fixed compile for maemo6.
Cleanup QEglContext & EGLDisplays
Moved 'hasAlpha' property from GL2 engine to GL paint device.
Remove useless qDebug in QTextCodec autotest
QTextCodec: Symbian has codec for UCS2, only fallback to UTF16 if UCS2 codec cannot be loaded
Add caching to QTextCodec::codecForName and QTextCodec::codecForMib
Add benchmark for QTextCodec
Fix several bugs with GL texture cache
Compile fix for OpenGL ES.
...
|
| |
| |
| |
| |
| |
| |
| |
| | |
This call "leaked" a temporary file in /tmp every time a QPrinter object
was created. Not very nice at all.
Task-number: QTBUG-6419
Reviewed-by: Kim
|
| |
| |
| |
| |
| |
| |
| |
| | |
There's no need to fall back and go via draw_helper() if we're using
a bitmap brush that's drawn using a solid color.
Task-number: QTBUG-8140
Reviewed-by: Kim
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (201 commits)
Fix an issue with the error signal in a callWithCallback not being
Add skeleton changes file for 4.6.3.
Fixed compiler warning about making the same class a friend twice
New test cases for the QScriptString.
Fix a deadlock in kqueue implementation of QFileSystemWatcher
Don't crash when QTouchEvent is accepted but not handled by a
QNAM HTTP: Unify socket EOF handling a bit
doc: Added \section1 about serializing operators for Qt collections.
Update the composition demo at 60 FPS instead of at painting rate
Replace the inline blend function by #define
Fix for using QContiguousCache with default constructor or capacity=0
Correctly mark QGraphicsScene::drawItems() as obsolete
Compile fix on Mac with 10.5 sdk.
QTestLib: don't crash if data tag requested, none available
Implement the blend functions with SSE2
doc: Added some since version information.
Ignore touch and gesture events when excluding input events
Implemented GraphicsView Panel support for gestures.
doc: Fixed several typos.
Add MSVC-specific expected failures for JS test suite
...
|
| | |
| | |
| | |
| | |
| | |
| | | |
Some compilers do not inline the functions, which is a problem
because the number of arguments exceed the limit for SSE,
and because it is a lot slower for those low level functions.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When available, use SSE2 to blend images, computation is
done on 4 pixels at the time instead of 1 with MMX.
Performance improvements:
- Blending ARGB32 on RGB32/ARGB32, mostly opaque: 188%
- Blending ARGB32 on RGB32/ARGB32, no opaque pixels: 180%
- Blending ARGB32 on RGB32/ARGB32, with 0.5 opacity: 187%
- Blending RGB32 on RGB32/ARGB32, with 0.5 opacity: 206%
Reviewed-by: Samuel Rødal
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug happened when a paint event came in from Symbian, but the
painted area was bigger than the exposed rect being passed in by
Symbian. In these cases we would lose updates to the area outside.
Fixed by calling Draw() once more if we detect that we painted a
larger area to the backing store.
It is still a mystery why this worked on 5.0 though... :-P
AutoTest: QWidget passed
RevBy: Jason Barron
Task: QTBUG-8200
|
|
|
|
|
| |
Task-number: QTBUG-8032
Reviewed-by: Kim
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
(ODBC) Use wchar_t instead of assuming 2 bytes.
Fixed some global QIcon/QPixmap instances that leaked handles on X11.
Speed up QListView test
QListView: fix crash when hiding many of the lasts item in a QListView
Fixed warnings and crash when painting graphics effects outside scene.
Stabilize QLineEdit test on X11
(sqlite) Allow shared cache mode
Make generate uid3 (symbian) work on 64 bit host platform.
Updated the docs for QPainter::begin/endNativePainting()
Compile fix for network benchmarks.
Add a pixmap modification hook to blur pixmap filter cache
Delete benchmark examples (qtestlib-simple and qtwidgets).
Restructure tests/benchmarks directory.
Fixed QImagReader::setAutoDetectImageFormat() to work with plugins.
QLineEdit: regression: read-only line edits would eat shortcuts.
QGraphicsItem: Do not crash at exit if there is static QGraphicsItem.
Make QTextCodec reentrant.
Fixed bug where GL widget was not fully updated on Vista.
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-7661
Reviewed-by: Kim
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Add the download URI for smart installer package to documentation
Catch up symbianutils to creator 3efdb87682a5785bac7b90f9f9a8bb819a1cb053
rename trk -> symbianutils
Catch up TRK library to creator f2b3e9f2dfbc580389b9b683a3e46e5a8422f55b
Fixed defect in handling of expose events for Symbian
Added qwidget test case which displays a native child widget
Fix tst_QAbstractItemView::task250754_fontChange and tst_QAbstractItemView::QTBUG6407_extendedSelection for Symbian & 5800
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit bc82db did not correctly handle native child widgets.
Consider the case when we have a top-level widget A with a native
child widget B. When QSymbianControl::Draw() is called on the
control corresponding to B, the following occurs:
1. The inExpose flag is set in B's QWExtra structure.
2. The call to syncBackingStore() results in a call to
QWidgetBackingStore::flush(), passing default parameters.
3. Because no target widget was passed to flush(), this
function selects the top-level widget (A) as the target for
the flush operation, passing A as the first argument of
QS60WindowSurface::flush().
4. QS60WindowSurface::flush() checks the inExpose flag from A's
QWExtra structure, finds it to be false, and proceeds to
call DrawNow() on A's control.
Because QSymbianControl::Draw() uses the default graphics context,
this context is shared between controls. This means that the DrawNow()
call in step 4 causes a WSERV-10 panic (Activate() called on an
already-active) graphics context.
This patch moves the inExpose flag from B's QWExtra into A's QTLWExtra,
with the result that the call to DrawNow() in step 4 is suppressed.
Task-number: QTBUG-7960
Reviewed-by: axis
|
| |
| |
| |
| |
| |
| |
| |
| | |
Blending fully transparent pixels take a non-negligible time
when webkit use transparent layer. We can avoid that be skipping
those pixels since they have no impact on the final result.
Reviewed-by: Samuel Rødal
|
|/
|
|
|
|
| |
Put the common code together with a #define.
Remove the check for the length from comp_func_Clear_impl and
move it to qt_memfill()
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Fixed casual crash in initializeDb (Symbian)
Fixed a bug where text would disappear in password fields.
Fixed sendEvent call.
Removed useless member variable and replaced with var on the stack.
Fixed indentation.
Fix to S60 softkey pressed down image.
Whitespace/tab fixes.
s60 application loses normalGeometry when returning from fullscreen
Fixing 'softvfp+vfpv2' compiling issue for Tb9.2
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Fix to S60 softkey pressed down image.
Whitespace/tab fixes.
s60 application loses normalGeometry when returning from fullscreen
Fixing 'softvfp+vfpv2' compiling issue for Tb9.2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When compiling with -fpu=softvfp+vfpv2 on Tb9.2 we were getting the
segmentattion fault.
This seems to be due to the RVCT bug when it comes to using int->float
(and reverse) castings. One extra level of indirection (function
call) has to be applied.
Task-number: QTBUG-4893
Reviewed-by: TrustMe
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Conflicts:
dist/changes-4.6.2
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes the qmlviewer "sluggish animations and lost
mouse events" issue by making sure we don't block and
wait for for the screen refresh when flushing the
backing store to the screen.
NB: This commit fixes build issues found in f5f62c0bed.
Review: msorvig
Details:
- Don't force repaints, flush the backingstore in response
to a Cocoa paint/display events only.
- Flush once per window.
- Get the CGContext from the window (don't create a new one)
- Don't call CGContextiFlush on the context.
|
| |
| |
| |
| |
| |
| | |
Patch speaks for itself :-)
Reviewed-by: samuel
|
| |
| |
| |
| |
| |
| |
| |
| | |
Using QPainter::setClipPath results in complex (and slow) alphamasking
so this must be avoided if possible.
Task-number: QTBUG-7790
Reviewed-by: samuel
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (21 commits)
Fixed a failure in tst_qgl.
4.6.2 changes
Avoids a possible crash when saving the state of a main window
Implemented QGifHandler::imageCount().
Fixed compilation of the GL2 engine for OpenGL ES 2.
fix whitespace
Document that QModelIndex::child does not work for the root item
Fixed missing textures in the boxes demo.
Fix QTBUG_7714_fullUpdateDiscardingOpacityUpdate2 autotest in qws-linux
Assert failure when setting a widget focus proxy as its successor in tab order
Fixed garbled 3D Qt logo in the overpainting example.
fix crash in Phonon::DS9 backend
Don't crash when running Qt on KDE with Oxygen style.
Fixes missing update when setting opacity on an item that had opacity 0.0
Avoids missing opacity updates by not propagating the ignoreOpacity flag
Cleanup in graphicsitem autotest
Adds convenience functions QGraphicsItemPrivate::isOpacityNull
Fixed a crash when QPixmaps are destroyed after the ~QApplication.
Fix GL texture leaks when pixmaps are deleted
Doc fix. No need to put something deprecated if it's not.
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Destroying QPixmaps after the QApp destructor will leak native pixmap
objects on X11, and it's a general rule that all GUI objects must
be destroyed before the QApp destuctor is called.
Task-number: QTBUG-7746
Reviewed-by: Kim
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Text rendering in Qt for Symbian looks very bad on a scaled QPainter.
Instead of simply using a Symbian font with the right size it followed
the code path that is usually used for "tricky transformation":
Use the glyph outlines and rasterize them in Qt as QPainterPath.
That's slow and especially ugly on Symbian since we do not (yet)
get the glyph outlines from Symbian.
This patch adds QFontEngineS60::setFontScale() so that QFontEngineS60
has one additional native font handle with the scaled size. The raster
paint engine will call that function in case that the painter is scaled.
Since we already have QFontEngineS60 specific code in the raster paint
engine, this patch did not have to add #ifdefs.
http://bugreports.qt.nokia.com/browse/QTBUG-7614
Task-number: QTBUG-7614
Reviewed-by: Jason Barron
modified: gui/painting/qpaintengine_raster.cpp
modified: gui/text/qfontengine_s60.cpp
modified: gui/text/qfontengine_s60_p.h
|
|
|
|
|
|
| |
Don't repeatedly update the pen / brush if no pen / brush is set.
Reviewed-by: Gunnar Sletta
|
|
|
|
| |
Reviewed-by: Trond
|
| |
|
|
|
|
| |
Reviewed-by: Trond
|