Bug 45156 - Wheel scrolling stops short of page bounds.
Wheel scrolling stops short of page bounds.
Status: CLOSED WONTFIX
Product: Red Hat Raw Hide
Classification: Retired
Component: gtk+ (Show other bugs)
1.0
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Owen Taylor
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-06-20 12:33 EDT by Ed McKenzie
Modified: 2008-05-01 11:38 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-03-04 15:25:58 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Ed McKenzie 2001-06-20 12:33:02 EDT
Using the scroll wheel in ggv, it's not always possible to hit the top
and/or bottom of a page at certain zoom levels.  Basically, it seems that
if the page position is close enough to the end of the page that another
wheel step would take it beyond the end of the page, scrolling the wheel in
that direction has no effect.

I've seen this in some other apps too (Nautilus), so it could be a gtk bug.
Comment 1 Tim Powers 2001-06-27 16:47:56 EDT
Which version of gtk+ are you using? Also, I can't reproduce this with the ps
files I've used. Do you still have offending doc to send me?

Tim
Comment 2 Ed McKenzie 2001-06-27 18:45:56 EDT
[eem12@trillian eem12]$ rpm -q ggv gtk+ 
ggv-1.0.1-2
gtk+-1.2.9-4
[eem12@trillian eem12]$ 

This is easy for me to reproduce in ggv with a blank document.
Comment 3 Owen Taylor 2002-03-04 18:13:56 EST
ggv bug; in gtkgs.c

void
gtk_gs_scroll(GtkGS *gs, gint x_delta, gint y_delta)
{
        gfloat hval, vval;

        hval = gs->hadj->value + ((gfloat)x_delta)/gs->width;
        vval = gs->vadj->value + ((gfloat)y_delta)/gs->height;
        if(hval <= gs->hadj->upper - gs->hadj->page_size/2 &&
           hval >= gs->hadj->lower + gs->hadj->page_size/2)
                gtk_adjustment_set_value(gs->hadj, hval);
        if(vval <= gs->vadj->upper - gs->vadj->page_size/2 &&
           vval >= gs->vadj->lower + gs->vadj->page_size/2)
                gtk_adjustment_set_value(gs->vadj, vval);
}

should look more like:

 hval = CLAMP (hval, gs->hadj->lower + gs->hadj->page_size / 2,
               gs->hadj->upper + gs->hadj->page_size / 2);
 gtk_adjustment_set_value (gs->hadj, hval);

Filed upstream as:

 http://bugzilla.gnome.org/show_bug.cgi?id=73454

 

Note You need to log in before you can comment on or make changes to this bug.