summaryrefslogtreecommitdiff
path: root/navit/graphics/qt5/QNavitWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'navit/graphics/qt5/QNavitWidget.cpp')
-rw-r--r--navit/graphics/qt5/QNavitWidget.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/navit/graphics/qt5/QNavitWidget.cpp b/navit/graphics/qt5/QNavitWidget.cpp
index 9c2b96505..355187b49 100644
--- a/navit/graphics/qt5/QNavitWidget.cpp
+++ b/navit/graphics/qt5/QNavitWidget.cpp
@@ -16,7 +16,6 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
-// style with: clang-format -style=WebKit -i *
#include <glib.h>
#ifdef HAVE_UNISTD_H
@@ -89,17 +88,23 @@ void QNavitWidget::paintEvent(QPaintEvent* event) {
painter.drawPixmap(event->rect().x(), event->rect().y(), *graphics_priv->pixmap,
event->rect().x() - graphics_priv->scroll_x, event->rect().y() - graphics_priv->scroll_y,
event->rect().width(), event->rect().height());
- paintOverlays(&painter, graphics_priv, event);
+ /* disable on root pane disables ALL overlays (for drag of background) */
+ if(!(graphics_priv->disable)) {
+ paintOverlays(&painter, graphics_priv, event);
+ };
}
void QNavitWidget::resizeEvent(QResizeEvent* event) {
QPainter* painter = NULL;
if (graphics_priv->pixmap != NULL) {
- delete graphics_priv->pixmap;
- graphics_priv->pixmap = NULL;
+ if((width() != graphics_priv->pixmap->width()) || (height() != graphics_priv->pixmap->height())) {
+ delete graphics_priv->pixmap;
+ graphics_priv->pixmap = NULL;
+ }
+ }
+ if (graphics_priv->pixmap == NULL) {
+ graphics_priv->pixmap = new QPixmap(size());
}
-
- graphics_priv->pixmap = new QPixmap(size());
painter = new QPainter(graphics_priv->pixmap);
if (painter != NULL) {
QBrush brush;