author | zecke <zecke> | 2002-09-10 13:54:23 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-09-10 13:54:23 (UTC) |
commit | 4aad041a733e2478ff29330e1544e5fefcfb5cde (patch) (unidiff) | |
tree | d45f21fa4570037b516ebfc1dd95aac56b3e6660 | |
parent | 9ae3234e770008c4fac9dc69ffc9bb0cb0f1b2ae (diff) | |
download | opie-4aad041a733e2478ff29330e1544e5fefcfb5cde.zip opie-4aad041a733e2478ff29330e1544e5fefcfb5cde.tar.gz opie-4aad041a733e2478ff29330e1544e5fefcfb5cde.tar.bz2 |
Fix floating point exception divide by 0 in qpedecoration
-rw-r--r-- | library/qpedecoration_qws.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/library/qpedecoration_qws.cpp b/library/qpedecoration_qws.cpp index 222d906..c2eb751 100644 --- a/library/qpedecoration_qws.cpp +++ b/library/qpedecoration_qws.cpp | |||
@@ -40,7 +40,7 @@ | |||
40 | 40 | ||
41 | #include <stdlib.h> | 41 | #include <stdlib.h> |
42 | 42 | ||
43 | extern QRect qt_maxWindowRect; | 43 | extern QRect qt_maxWindowRect; |
44 | 44 | ||
45 | #define WHATSTHIS_MODE | 45 | #define WHATSTHIS_MODE |
46 | 46 | ||
@@ -107,7 +107,8 @@ public: | |||
107 | 107 | ||
108 | static QImage scaleButton( const QImage &img, int height ) | 108 | static QImage scaleButton( const QImage &img, int height ) |
109 | { | 109 | { |
110 | if ( img.height() != height ) { | 110 | qWarning("Height %d %d", height, img.height() ); |
111 | if ( img.height()!=0 && img.height() != height ) { | ||
111 | return img.smoothScale( img.width()*height/img.height(), height ); | 112 | return img.smoothScale( img.width()*height/img.height(), height ); |
112 | } else { | 113 | } else { |
113 | return img; | 114 | return img; |
@@ -647,7 +648,7 @@ QRegion QPEDecoration::region(const QWidget *widget, const QRect &rect, QWSDecor | |||
647 | region = m & QRect( br.left()+grab, br.top(), | 648 | region = m & QRect( br.left()+grab, br.top(), |
648 | br.width()-2*grab, b ); | 649 | br.width()-2*grab, b ); |
649 | } | 650 | } |
650 | break; | 651 | break; |
651 | case Left: | 652 | case Left: |
652 | if ( !widget->isMaximized() ) { | 653 | if ( !widget->isMaximized() ) { |
653 | QRegion m = wdiface->mask(&wd); | 654 | QRegion m = wdiface->mask(&wd); |
@@ -656,7 +657,7 @@ QRegion QPEDecoration::region(const QWidget *widget, const QRect &rect, QWSDecor | |||
656 | region = m & QRect( br.left(), br.top()+grab, | 657 | region = m & QRect( br.left(), br.top()+grab, |
657 | b, br.height()-2*grab ); | 658 | b, br.height()-2*grab ); |
658 | } | 659 | } |
659 | break; | 660 | break; |
660 | case Right: | 661 | case Right: |
661 | if ( !widget->isMaximized() ) { | 662 | if ( !widget->isMaximized() ) { |
662 | QRegion m = wdiface->mask(&wd); | 663 | QRegion m = wdiface->mask(&wd); |
@@ -665,7 +666,7 @@ QRegion QPEDecoration::region(const QWidget *widget, const QRect &rect, QWSDecor | |||
665 | region = m & QRect( rect.right(), br.top()+grab, | 666 | region = m & QRect( rect.right(), br.top()+grab, |
666 | b, br.height()-2*grab ); | 667 | b, br.height()-2*grab ); |
667 | } | 668 | } |
668 | break; | 669 | break; |
669 | case Bottom: | 670 | case Bottom: |
670 | if ( !widget->isMaximized() ) { | 671 | if ( !widget->isMaximized() ) { |
671 | QRegion m = wdiface->mask(&wd); | 672 | QRegion m = wdiface->mask(&wd); |
@@ -685,7 +686,7 @@ QRegion QPEDecoration::region(const QWidget *widget, const QRect &rect, QWSDecor | |||
685 | crgn |= QRect( br.left(), br.top(), lb, grab ); | 686 | crgn |= QRect( br.left(), br.top(), lb, grab ); |
686 | region = m & crgn; | 687 | region = m & crgn; |
687 | } | 688 | } |
688 | break; | 689 | break; |
689 | case TopRight: | 690 | case TopRight: |
690 | if ( !widget->isMaximized() ) { | 691 | if ( !widget->isMaximized() ) { |
691 | QRegion m = wdiface->mask(&wd); | 692 | QRegion m = wdiface->mask(&wd); |
@@ -703,7 +704,7 @@ QRegion QPEDecoration::region(const QWidget *widget, const QRect &rect, QWSDecor | |||
703 | QRect br = m.boundingRect(); | 704 | QRect br = m.boundingRect(); |
704 | region = m & QRect( br.left(), br.bottom()-grab, grab, grab ); | 705 | region = m & QRect( br.left(), br.bottom()-grab, grab, grab ); |
705 | } | 706 | } |
706 | break; | 707 | break; |
707 | case BottomRight: | 708 | case BottomRight: |
708 | if ( !widget->isMaximized() ) { | 709 | if ( !widget->isMaximized() ) { |
709 | QRegion m = wdiface->mask(&wd); | 710 | QRegion m = wdiface->mask(&wd); |
@@ -822,11 +823,11 @@ void QPEDecoration::paintButton(QPainter *painter, const QWidget *w, | |||
822 | 823 | ||
823 | void QPEDecoration::maximize( QWidget *widget ) | 824 | void QPEDecoration::maximize( QWidget *widget ) |
824 | { | 825 | { |
825 | #ifdef QPE_DONT_SHOW_TITLEBAR | 826 | #ifdef QPE_DONT_SHOW_TITLEBAR |
826 | if ( !widget->inherits( "QDialog" ) ) { | 827 | if ( !widget->inherits( "QDialog" ) ) { |
827 | widget->setGeometry( qt_maxWindowRect ); | 828 | widget->setGeometry( qt_maxWindowRect ); |
828 | } else | 829 | } else |
829 | #endif | 830 | #endif |
830 | { | 831 | { |
831 | QWSDecoration::maximize( widget ); | 832 | QWSDecoration::maximize( widget ); |
832 | } | 833 | } |
@@ -853,7 +854,7 @@ void QPEDecoration::minimize( QWidget *widget ) | |||
853 | if ( widget->inherits( "QDialog" ) ) { | 854 | if ( widget->inherits( "QDialog" ) ) { |
854 | HackDialog *d = (HackDialog *)widget; | 855 | HackDialog *d = (HackDialog *)widget; |
855 | d->acceptIt(); | 856 | d->acceptIt(); |
856 | } | 857 | } |
857 | #endif | 858 | #endif |
858 | else if ( ((HackWidget *)widget)->needsOk() ) { | 859 | else if ( ((HackWidget *)widget)->needsOk() ) { |
859 | QSignal s; | 860 | QSignal s; |