diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-04-17 14:16:32 +0100 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-04-17 14:16:45 +0100 |
commit | ad74fa4d6f8695061fe6f638157f1eeaa00b6057 (patch) | |
tree | e3cf5964c761ecf90f921b332f2b928b84484b86 /gtk | |
parent | bcf07a9665b2c777b177b4b58a7381f894417c61 (diff) | |
download | netsurf-ad74fa4d6f8695061fe6f638157f1eeaa00b6057.tar.gz netsurf-ad74fa4d6f8695061fe6f638157f1eeaa00b6057.tar.bz2 |
fix scrolling on gtk3
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/res/tabcontents.gtk3.ui | 8 | ||||
-rw-r--r-- | gtk/window.c | 9 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gtk/res/tabcontents.gtk3.ui b/gtk/res/tabcontents.gtk3.ui index 328e9e450..02de1bff1 100644 --- a/gtk/res/tabcontents.gtk3.ui +++ b/gtk/res/tabcontents.gtk3.ui @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3.0 --> - <object class="GtkAdjustment" id="layoutvadjustment"> + <object class="GtkAdjustment" id="layouthadjustment"> <property name="upper">100</property> <property name="step_increment">1</property> <property name="page_increment">10</property> </object> - <object class="GtkAdjustment" id="loyouthadjustment"> + <object class="GtkAdjustment" id="layoutvadjustment"> <property name="upper">100</property> <property name="step_increment">1</property> <property name="page_increment">10</property> @@ -22,7 +22,7 @@ <property name="app_paintable">True</property> <property name="can_focus">False</property> <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_STRUCTURE_MASK | GDK_SCROLL_MASK</property> - <property name="hadjustment">loyouthadjustment</property> + <property name="hadjustment">layouthadjustment</property> <property name="vadjustment">layoutvadjustment</property> </object> <packing> @@ -83,7 +83,7 @@ <object class="GtkScrollbar" id="hscrollbar"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="adjustment">loyouthadjustment</property> + <property name="adjustment">layouthadjustment</property> </object> <packing> <property name="resize">True</property> diff --git a/gtk/window.c b/gtk/window.c index 4028c13d3..7642e3b82 100644 --- a/gtk/window.c +++ b/gtk/window.c @@ -176,6 +176,9 @@ nsgtk_window_draw_event(GtkWidget *widget, cairo_t *cr, gpointer data) current_widget = (GtkWidget *)gw->layout; current_cr = cr; + GtkAdjustment *vscroll = nsgtk_layout_get_vadjustment(gw->layout); + GtkAdjustment *hscroll = nsgtk_layout_get_hadjustment(gw->layout); + cairo_clip_extents(cr, &x1, &y1, &x2, &y2); clip.x0 = x1; @@ -183,7 +186,11 @@ nsgtk_window_draw_event(GtkWidget *widget, cairo_t *cr, gpointer data) clip.x1 = x2; clip.y1 = y2; - browser_window_redraw(gw->bw, 0, 0, &clip, &ctx); + browser_window_redraw(gw->bw, + -gtk_adjustment_get_value(hscroll), + -gtk_adjustment_get_value(vscroll), + &clip, + &ctx); if (gw->careth != 0) { nsgtk_plot_caret(gw->caretx, gw->carety, gw->careth); |