| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The original fix was for "out of stack space" due to to low a value,
this one is for too high a value.
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Task-number: 234366
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reviewed-by: thartman
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This reverts commit 69e5a3fce4d355822367dc1a17179a364111632e.
|
|
|
|
| |
Task-number: 258371
|
|
|
|
|
|
|
| |
The order of the parameters to the QMargins constructor changed in
commit 758f4735bcae034ac25730e53bb371df3b7d6e8a.
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
By using QTRY_{COMPARE,VERIFY} instead of waiting an arbitrary amount of
time waiting for the window manager to do his job.
Also use QApplication::setActiveWindow which seems to be more robust
then QWidget::activateWindow
|
| |
| |
| |
| |
| | |
The piece table test relied on previous automatic edit command grouping. The
grouping now has to be enforced explicitely with beginEditGroup()/endEditGroup()
|
| |
| |
| |
| | |
Reviewed-by: Jesper
|
| |
| |
| |
| |
| |
| |
| | |
This is a mkspec template for creating x86 Windows CE 6 mkspecs.
Task-number: 259850
Reviewed-by: mauricek
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Additionally, mkspecs/wince.conf was moved to
mkspecs/common/wince/qmake.conf
The common qplatformdefs.h is also in that directory.
Task-number: 259850
Reviewed-by: mauricek
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
There are many places where the test assumes that a widget gets focus
after some fixed timeout. Change it to block until the widget really
gets focus.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
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
|