| 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 First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented 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 ) |