| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
When trying to determine if there is a handler for an exception, determine
the returnPC for the call frame traversal frmo the corrent CallFrame object.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
A new QGLFramebufferObject constructor was added after the
QGLPaintDevice was branched which therefore didn't get patched.
Reviewed-by: Trustme
|
|
|
|
| |
Reviewed-by: Trustme
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch remove the 'fake' context that appears in the debugger
backtrace when there is a break point in the global context.
This problem never appeared in the tests because the
QScriptContext::backtrace has always at least two items in the backtrace
as it needs the native 'bt' function to be called.
Changed QScriptEnginePrivate::contextForFrame to skip the fake frame
(instead of QScriptContext::parentContext). So we never have a QScriptContext
pointing to that frame.
The changes in QScriptContextInfo are for retreiving the right filename
information for the global context when the global context is on top.
Reviewed-by: Kent Hansen
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reset the dangling subFocusItem pointer in ~QGraphicsItem,
after all the child items have been deleted.
This replaces commit d724c91a0ae.
Reviewed-by: Thomas Hartmann
|
| |\ |
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGLShader and QGLShaderProgram used to delete the GL object id
in the wrong context. But fixing this means we must keep track of
when contexts are destroyed so that we don't try to access a
context from a shader if it goes away. We also need to transfer
ownership from one context to another when they are shared.
This change introduces QGLSharedResourceGuard, which keeps track
of a context and a GL object identifier. When the context goes
away, ownership is passed to a shared context. When there are
no more shared contexts, the identifier automatically zeroes.
Reviewed-by: trustme
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Task-number: 241223
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: 241223
Reviewed-by: Janne Koskinen
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: 241223
Reviewed-by: Janne Koskinen
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When compiling libmng for RVCT the following compiler warnings were
reported:
- #177-D: variable "pTemp" was declared but never referenced
- #14-D: extra text after expected end of preprocessing directive
This fix delays the pTemp declaration, until they are needed inside
used for example in 'mng_create_imagedataobject' function.
For 'extra text after expected end of preprocessing directive' warning
the fix is to use:
#endif /* MNG_SUPPORT_WRITE */
Instead of:
#endif MNG_SUPPORT_WRITE
Task-number: 241223
Reviewed-by: Espen Riskedal
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: 241223
Reviewed-by: TrustMe
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number:
Reviewed-by: TrustMe
|
| |/ /
|/| |
| | |
| | |
| | | |
Task-number: 241223
Reviewed-by: TrustMe
|
|\ \ \
| |/ /
|/| /
| |/
| | |
Conflicts:
src/gui/kernel/qapplication.cpp
|
| |
| |
| |
| | |
Reviewed-by: thartman
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|