aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/widgets/overlay_scroll_bar.cpp13
-rw-r--r--ui/qt/widgets/overlay_scroll_bar.h4
2 files changed, 14 insertions, 3 deletions
diff --git a/ui/qt/widgets/overlay_scroll_bar.cpp b/ui/qt/widgets/overlay_scroll_bar.cpp
index 68f1ba0f56..73a291b058 100644
--- a/ui/qt/widgets/overlay_scroll_bar.cpp
+++ b/ui/qt/widgets/overlay_scroll_bar.cpp
@@ -25,7 +25,6 @@
#include <QMouseEvent>
#include <QPainter>
-#include <QProxyStyle>
#include <QResizeEvent>
#include <QStyleOptionSlider>
@@ -81,11 +80,13 @@ OverlayScrollBar::OverlayScrollBar(Qt::Orientation orientation, QWidget *parent)
end_pos_(-1),
selected_pos_(-1)
{
- setStyle(new OsbProxyStyle);
+ style_ = new OsbProxyStyle();
+ setStyle(style_);
+ child_style_ = new OsbProxyStyle();
child_sb_.raise();
child_sb_.installEventFilter(this);
- child_sb_.setStyle(new OsbProxyStyle);
+ child_sb_.setStyle(child_style_);
// XXX Do we need to connect anything else?
connect(this, SIGNAL(rangeChanged(int,int)), this, SLOT(setChildRange(int,int)));
@@ -94,6 +95,12 @@ OverlayScrollBar::OverlayScrollBar(Qt::Orientation orientation, QWidget *parent)
connect(&child_sb_, SIGNAL(valueChanged(int)), this, SLOT(setValue(int)));
}
+OverlayScrollBar::~OverlayScrollBar()
+{
+ delete child_style_;
+ delete style_;
+}
+
QSize OverlayScrollBar::sizeHint() const
{
return QSize(packet_map_width_ + child_sb_.sizeHint().width(),
diff --git a/ui/qt/widgets/overlay_scroll_bar.h b/ui/qt/widgets/overlay_scroll_bar.h
index c6d2909f32..dd3624ac66 100644
--- a/ui/qt/widgets/overlay_scroll_bar.h
+++ b/ui/qt/widgets/overlay_scroll_bar.h
@@ -23,6 +23,7 @@
#define __OVERLAY_SCROLL_BAR_H__
#include <QScrollBar>
+#include <QProxyStyle>
class OverlayScrollBar : public QScrollBar
{
@@ -30,6 +31,7 @@ class OverlayScrollBar : public QScrollBar
public:
OverlayScrollBar(Qt::Orientation orientation, QWidget * parent = 0);
+ virtual ~OverlayScrollBar();
virtual QSize sizeHint() const;
@@ -72,6 +74,8 @@ protected:
virtual void mouseReleaseEvent(QMouseEvent * event);
private:
+ QProxyStyle* style_;
+ QProxyStyle* child_style_;
QScrollBar child_sb_;
QImage packet_map_img_;
QImage marked_packet_img_;