Summary: | young hickory passive popup is cut off | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | ismore |
Component: | general | Assignee: | Stephan Kulow <coolo> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Case where the panel is hidden
Case where the panel is not hidden |
Description
ismore
2002-12-06 00:41:07 UTC
Created attachment 577 [details]
Case where the panel is hidden
Created attachment 578 [details]
Case where the panel is not hidden
I was able to track it down to a bug in KPassivePopup... in that special case, the y coordinate becomes negative (ie, it is over the top of the screen). The following fixes it: void KPassivePopup::moveNear( QRect target ) { [...] (line 224) // It wants to be more at the top then the top if ( y < 0 ) y = 0; [...] } There should be a check for x < 0 as well, I guess. Subject: kdelibs/kdeui CVS commit by pfeiffer: Thanks to ismore@ieg.com.br + if ( y < 0 ) + y = 0; CCMAIL: 51552-close@bugs.kde.org M +4 -1 kpassivepopup.cpp 1.15 --- kdelibs/kdeui/kpassivepopup.cpp:1.14 Fri Nov 15 02:54:19 2002 @@ -177,7 +177,7 @@ QRect target; if ( window == 0L ) { - target = defaultArea(); + target = defaultArea(); } else { @@ -220,6 +220,9 @@ // It's apparently trying to go off screen, so display it ALL at the bottom. if ( (y + h) > qApp->desktop()->height() ) y = qApp->desktop()->height() - h; + + if ( y < 0 ) + y = 0; #ifdef OLD_BITS if ( (x - w) >= 0 ) |