author | alwin <alwin> | 2004-11-02 12:35:34 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-11-02 12:35:34 (UTC) |
commit | e246d0590286f6b9b0d5d40f1a17caa78c015b21 (patch) (unidiff) | |
tree | 96195461536b3821482df56d4f7a0b6683092aed /noncore | |
parent | e83e5bd3f26270d61a83b8b91e07b35d2657d060 (diff) | |
download | opie-e246d0590286f6b9b0d5d40f1a17caa78c015b21.zip opie-e246d0590286f6b9b0d5d40f1a17caa78c015b21.tar.gz opie-e246d0590286f6b9b0d5d40f1a17caa78c015b21.tar.bz2 |
uiuiui - fixed a bug which let running applications crash if switched style
from phase to any other. Reason was that in phase-style a special menubaritem-
drawroutine was set but not RESET to qte default if this style was removed
I'd implemented the unPolish routine and just set this callback to 0 (qt-default)
and now it works nice.
-rw-r--r-- | noncore/styles/phase/phasestyle.cpp | 22 | ||||
-rw-r--r-- | noncore/styles/phase/phasestyle.h | 8 |
2 files changed, 21 insertions, 9 deletions
diff --git a/noncore/styles/phase/phasestyle.cpp b/noncore/styles/phase/phasestyle.cpp index ba8c460..906ccee 100644 --- a/noncore/styles/phase/phasestyle.cpp +++ b/noncore/styles/phase/phasestyle.cpp | |||
@@ -319,4 +319,9 @@ void PhaseStyle::polish( QWidget* widget ) { | |||
319 | } | 319 | } |
320 | 320 | ||
321 | void PhaseStyle::unPolish( QWidget *w ) | ||
322 | { | ||
323 | QWindowsStyle::unPolish( w ); | ||
324 | } | ||
325 | |||
321 | void PhaseStyle::polish( QPalette &pal ) { | 326 | void PhaseStyle::polish( QPalette &pal ) { |
322 | QWindowsStyle::polish( pal ); | 327 | QWindowsStyle::polish( pal ); |
@@ -338,4 +343,9 @@ void PhaseStyle::polish( QApplication* app ) { | |||
338 | } | 343 | } |
339 | 344 | ||
345 | void PhaseStyle::unPolish( QApplication* app ) { | ||
346 | QWindowsStyle::unPolish(app); | ||
347 | qt_set_draw_menu_bar_impl ( 0 ); | ||
348 | } | ||
349 | |||
340 | void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) { | 350 | void PhaseStyle::drawPushButtonLabel (QPushButton *button, QPainter *painter) { |
341 | bool active = button->isOn() || button->isDown(); | 351 | bool active = button->isOn() || button->isDown(); |
@@ -632,6 +642,6 @@ void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable, | |||
632 | // draw seperator | 642 | // draw seperator |
633 | if (mi->isSeparator() ) { | 643 | if (mi->isSeparator() ) { |
634 | p->setPen( g.dark() ); | 644 | p->setPen( g.dark() ); |
635 | p->drawLine( x+8, y+1, x+w-8, y+1 ); | 645 | p->drawLine( x+8, y+1, x+w-8, y+1 ); |
636 | 646 | ||
637 | p->setPen( g.mid() ); | 647 | p->setPen( g.mid() ); |
@@ -639,6 +649,6 @@ void PhaseStyle::drawPopupMenuItem ( QPainter * p, bool checkable, | |||
639 | p->drawPoint(x+w,y+1); | 649 | p->drawPoint(x+w,y+1); |
640 | 650 | ||
641 | p->setPen( g.midlight() ); | 651 | p->setPen( g.midlight() ); |
642 | p->drawLine( x+8, y-1, x+w-8, y-1 ); | 652 | p->drawLine( x+8, y-1, x+w-8, y-1 ); |
643 | p->drawPoint(x+8, y ); | 653 | p->drawPoint(x+8, y ); |
644 | return; | 654 | return; |
@@ -777,7 +787,7 @@ void PhaseStyle::drawTab(QPainter* painter, const QTabBar* bar, QTab* tab, | |||
777 | // what position is the tab? | 787 | // what position is the tab? |
778 | if ((bar->count() == 1 )) | 788 | if ((bar->count() == 1 )) |
779 | edge = true; | 789 | edge = true; |
780 | else | 790 | else |
781 | edge = false; | 791 | edge = false; |
782 | 792 | ||
783 | switch (QTabBar::Shape(bar->shape())) { | 793 | switch (QTabBar::Shape(bar->shape())) { |
diff --git a/noncore/styles/phase/phasestyle.h b/noncore/styles/phase/phasestyle.h index cbaa534..ae53efe 100644 --- a/noncore/styles/phase/phasestyle.h +++ b/noncore/styles/phase/phasestyle.h | |||
@@ -41,7 +41,9 @@ public: | |||
41 | virtual ~PhaseStyle(); | 41 | virtual ~PhaseStyle(); |
42 | 42 | ||
43 | void polish( QWidget * ); | 43 | virtual void polish( QWidget * ); |
44 | void polish( QPalette& ); | 44 | virtual void polish( QPalette& ); |
45 | void polish( QApplication* ); | 45 | virtual void polish( QApplication* a); |
46 | virtual void unPolish( QWidget * ); | ||
47 | virtual void unPolish(QApplication *a); | ||
46 | 48 | ||
47 | 49 | ||