Fixed the vscrollbar flickering problem, by checking the area on expose

Sat Mar  7 01:07:24 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
	  flickering problem, by checking the area on expose events.
	  (There was a hscrollbar flickering problem as well, it
	   just wasn't very noticeable)
This commit is contained in:
Owen Taylor 1998-03-07 06:14:37 +00:00 committed by Owen Taylor
parent 1941bf4cbf
commit a328473d1b
8 changed files with 65 additions and 1 deletions

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -1,3 +1,10 @@
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
Fri Mar 6 21:30:05 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkeditable.c: Disallow pasting into non-editable

View File

@ -688,7 +688,22 @@ gtk_range_expose (GtkWidget *widget,
if (event->window == range->trough)
{
gtk_range_draw_trough (range);
/* Don't redraw if we are only exposing the literal trough region.
* this may not work correctly if someone overrides the default
* trough-drawing handler. (Probably should really pass another
* argument - the redrawn area to all the drawing functions)
*/
gint xt = widget->style->klass->xthickness;
gint yt = widget->style->klass->ythickness;
if (!((event->area.x >= xt) &&
(event->area.y >= yt) &&
(event->area.x + event->area.width <=
widget->allocation.width - xt) &&
(event->area.y + event->area.height <=
widget->allocation.height - xt)))
gtk_range_draw_trough (range);
}
else if (event->window == widget->window)
{