From: Samuel Rødal Date: Tue, 5 Apr 2011 08:12:00 +0000 (+0200) Subject: Don't emit mapped until the surface is actually mapped. X-Git-Tag: qt-v5.0.0-alpha1~328 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c7f2f0f10e65c6d65363c57c5fa201538dcb1fb0;p=profile%2Fivi%2Fqtwayland.git Don't emit mapped until the surface is actually mapped. Buffers might be attached without the surface ever being mapped. --- diff --git a/src/qt-compositor/wayland_wrapper/wlsurface.cpp b/src/qt-compositor/wayland_wrapper/wlsurface.cpp index 51e835f..586b458 100644 --- a/src/qt-compositor/wayland_wrapper/wlsurface.cpp +++ b/src/qt-compositor/wayland_wrapper/wlsurface.cpp @@ -198,7 +198,7 @@ void Surface::attachHWBuffer(struct wl_buffer *buffer) glDeleteTextures(1,&d->texture_id); d->texture_id = d->compositor->graphicsHWIntegration()->createTextureFromBuffer(buffer); - emit d->qtSurface->mapped(QRect(QPoint(), QSize(buffer->width, buffer->height))); + d->rect = QRect(QPoint(), QSize(buffer->width, buffer->height)); } GLuint Surface::textureId() const @@ -213,14 +213,14 @@ void Surface::attachShm(Wayland::ShmBuffer *shm_buffer) Q_D(Surface); d->shm_buffer = shm_buffer; d->type = WaylandSurface::Shm; - emit d->qtSurface->mapped(QRect(QPoint(), shm_buffer->size())); + d->rect = QRect(QPoint(), shm_buffer->size()); } void Surface::mapTopLevel() { Q_D(Surface); - d->rect = QRect(0, 0, 200, 200); + emit d->qtSurface->mapped(d->rect); } WaylandSurface * Surface::handle() const