| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/network-settings.h
tests/auto/qpainter/tst_qpainter.cpp
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to floor instead of round to prevent rectangles that are on the
edge from being shifted one pixel down / right.
Task-number: 258776
Reviewed-by: Kim
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Have QWindowsPipeWriter emit a bytesWritten signal and have
QLocalSocket connect this to its own bytesWritten signal.
This change contains an autotest to check for the signal emission.
Previously there was no implementation to emit the signal.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fix should optimize pixmap loading on most platforms and also fixes
a bug on a certain hardware where the alpha channel of an image was not
retained upon loading it.
This patch also takes care of handling dithering better in
QDirectFBPixmapData::fromImage().
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGLGradientCache for the OpenGL1 paint engine has to destroy
the cached gradient textures if the QGLContext changes.
Problem is, it wasn't changing back to the previous context
to destroy those textures.
Task-number: 249919
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| | |
It's QT_NO_DIRECTFB.*, not QT_DIRECTFB_NO.*
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| |
| | |
This makes debugging easier.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| | |
Task-number: 219152
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the last patch in the QGLPaintDevice series. Although previous
patches have not been reviewed individually, Samuel's reviewed
QGLPaintDevice API and all the changes as the code stands with this
patch.
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch changes the ordering of QGL2PaintEngine::begin a bit because
QGLPixmapData needs to use the paint engine's drawTexture method within
beginPaint().
Also, this initialises needsSync to true and removes the setState call.
So now all the state initialisation is done in ensureActive rather than
begin.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, the paint engine cleared the surface's buffers in begin.
This logic really belongs in QGLPaintDevice::beginPaint as not all paint
devices will want this behaviour (in fact most don't). This also makes
QGLPaintDevice API much simpler as the virtual getters for the clear
color, etc. can be removed. It's much cleaner this way. The only
possible problem is with the GL1 engine, which also cleared the
accumulation & depth buffers in begin. However, the engine will also
clear the depth buffer later as part of it's clipping logic. It also
doesn't use the accumulation buffer, so clearing it seems unnessisary.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch also refactors QGL2PaintEngineEx::ensureActive() and the
logic which handles multiple paint engines rendering to the same
QGLContext. In a nut-shell:
* QGLPaintDevice::beginPaint() stores the currently bound FBO
* QGLPaintDevice::ensureActiveTarget() makes sure that GL rendering will
end up in the paint device (I.e. the right context is current and the
right FBO is bound). If a different context or FBO was bound, it is
_not_ remembered.
* QGLPaintDevice::endPaint() restores whatever FBO was bound when
beginPaint() was called.
This logic allows interleaved painter rendering to multiple FBOs and
contexts to work as expected. It also allows a stacked begin/end to work
properly when it's mixed with native GL rendering (as far as current
render target is concerened. GL state clobbering is obviously a
different topic).
QGLPaintDevice::context() also had to be made virtual as there's no good
place to call setContext. This might be possible to change in the future
though.
Finally, to make this work, QGLFramebufferObjectPrivate had to be moved
into it's own private header.
|
| |
| |
| |
| |
| | |
Add a new QGLPBufferGLPaintDevice implementation which allows the GL
engines to target QGLPixelBuffers again.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds a new abstract base class which inherits from
QPaintDevice called QGLPaintDevice. This base class will contain
everything the GL paint engines need to know about the surface they are
drawing onto. As such, new surfaces can be targeted by the GL paint
engines without having to modify QtOpenGL. This is very useful for
plugins, specifically QGraphicsSystem plugins.
To unify things a little, the GL paint engines will use the same
QGLPaintDevice API to render into existing target surfaces (QGLWidget,
QGLPixelBuffer & QGLFrameBufferObject). Ideally we'd make QGLPaintDevice
a common ancestor for these surfaces, but obviously that wil break B/C.
This patch only implements QGLWidget using the new interface. Rendering
to other surfaces will be fixed in following patches.
|
| |
| |
| |
| |
| |
| | |
Copy variable initialization/cleanup code from X11
Reviewed-by: Tom
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To support correctly breaking text and calculating the bounding rect
of text that has a right bearing (like italic text), we need to take
the bearing into account when doing the layout. We add the bearing when
checking whether we need to break the text, and we add it to the natural
width of the text whenever we've finished a text line, so that we get
the correct bounding rectangle.
This patch only takes the last glyph's bearing into account. The
theoretically correct approach would be to take all bearings into account
and use the one which gives the longest text width. However, in practice
the bearing of the glyph will not be great enough for it to span over
several other glyphs.
Also refactored a little to make the code simpler.
Task-number: 176401
Reviewed-by: Simon Hausmann
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The refactoring of current++ and src++ out of the new line makes the
code easier to understand but it also seems to be significant at least
in the ::isComplex case. I suspect that the ordering increment
operations vs throw from new is not well defined, or not implemented as
you might hope (with the ++ happening very last).
The changes in the catch blocks mean that it deletes the created
objects, rather than trying with the first failed object.
The test code has been updated with a +=(Container) test, and to force
testing of both static and moveable types.
Reviewed-by: Harald Fernengel
|
| |
| |
| |
| |
| |
| |
| | |
The order of the parameters to the QMargins constructor changed in
commit 758f4735bcae034ac25730e53bb371df3b7d6e8a.
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some applications that uses a mix of OpenGL and QPainter code may
not work correctly with the new GL 2 engine (e.g. the composition demo).
The same is most likely also true for user apps, therefore we need
a way to enforce the usage of the old GL 1 engine for the sake of
compatibility.
Task-number: 260872
Reviewed-by: Samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QScriptDebuggerBackend::contextCount() method was trying to count
number of context push & pop and result was not equal to elements count
in QScriptDebuggerBackend::contextIds() list. Patch change
QScriptDebuggerBackend::contextCount() to call count() on ids list.
Task-number: 260719
Reviewed-by: Kent Hansen
|
| |
| |
| |
| |
| |
| |
| |
| | |
On Widows CE we must decommit all committed pages before we release
them. See VirtualFree documentation.
Desktop Windows behaves much smoother in this situation.
Reviewed-by: ariya
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The widget needs to use the naturalTextWidth to adjust the horizontal
scrolling, otherwise it will not fit correctly the text in the visible
area when resized.
Merge-request: 1410
Reviewed-by: Alan Alpert
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In icon mode, if you click on the viewport (with extended selection),
the selection should be cleared when you release the mouse button.
Reviewed-by: ogoffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The problem is that when starting an animation, we delay it by starting
a 0-timer. That doesn't work on windows while dragging a native window.
Task-number: 260772
Reviewed-by: prasanth
|
| | |
| | |
| | |
| | | |
That's the last of them... for now.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There's a clash between "TypeInfo.h" and a standard header "typeinfo.h"
that's included from a place we don't control. The fix is to rename
"TypeInfo.h" to "JSTypeInfo.h".
Reviewed-by: Simon Hausmann
|
| |\ \
| | |/
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qapplication.cpp
|
| | |
| | |
| | |
| | | |
Reviewed-by: thartman
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed resolving absolute path using QFileInfo for paths that were
relative but contained the drive letter (e.g. "c:my.dll").
Absolute paths should now be properly cleaned in Symbian, too.
Task-number: 255326
Reviewed-by: Janne Anttila
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
device.
The default was being added even when no audio devices were available.
Change so that the default device is only added if there is at least
one audio device.
Reviewed-by:Bill King
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QImage::Format_RGB16 textures were broken on some OpenGL/ES 1.1
systems because the "format" was set to GL_RGBA and the "texture_format"
was set to GL_RGB, with a pixel type of GL_UNSIGNED_SHORT_5_6_5.
OpenGL/ES 1.1, ES 2.0, and desktop GL all require the two format
parameters to glTexImage2D() to be GL_RGB if the pixel type is
GL_UNSIGNED_SHORT_5_6_5.
Reviewed-by: Sarah Smith
|
| |
| |
| |
| |
| |
| |
| | |
The original renderText() was using the highly unportable (to OpenGL/ES)
glGetDoublev() and glGetIntegerv() functions.
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: Sarah Smith
|
| |
| |
| |
| | |
Reviewed-by: trustme
|
| |
| |
| |
| | |
Reviewed-by: Denis
|
| |
| |
| |
| | |
Reviewed-By: Trust Me
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Oxygen did not use icons in dialogs. This is obviously
incorrect compared with other KDE apps. We changed common style
to enable button icons by default on X11 and explicitly
disabled them for Windows and Motif styles.
We also updated the icons for YES and NO actions to use
dialog-ok and process-stop to reflect the usaged in
KDE itself.
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| | |
src/corelib/global/qglobal.h:1368:1: warning: "QT_NO_EXCEPTIONS" redefined
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| |
| |
| | |
Not clearing the timerVec and timerDict containers can cause crashes during
application shutdown when code tries to unregister timers (that were
unregistered in closingDown()).
Reviewed-by: dt
|
| |
| |
| |
| |
| |
| |
| |
| | |
Do not call clearFocus() for child item in setParentItemHelper() if
called from destructor: At this time, the ~QGraphicsItem destructor
already deleted all its children.
Reviewed-by: Andreas Aardal Hanssen
|
| |
| |
| |
| |
| |
| |
| | |
Event functionExit was fixed, now returnValue is correctly passed as an
argument to debugger. Few QEXCEPT_FAIL were removed from autotest.
Reviewed-by: Kent Hansen
|
| |
| |
| |
| |
| |
| |
| | |
Event exceptionCatch fixed, now exceptionValue is correctly passed as an
argument to debugger. Two QEXCEPT_FAIL were removed from autotest.
Reviewed-by: Kent Hansen
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid crashing when framebuffer object created in one context is used
in a shared context after the original context is destroyed.
Task-number: 260874
Reviewed-by: Samuel
|