summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-04-17 14:16:32 +0100
committerVincent Sanders <vince@netsurf-browser.org>2013-04-17 14:16:45 +0100
commitad74fa4d6f8695061fe6f638157f1eeaa00b6057 (patch)
treee3cf5964c761ecf90f921b332f2b928b84484b86 /gtk
parentbcf07a9665b2c777b177b4b58a7381f894417c61 (diff)
downloadnetsurf-ad74fa4d6f8695061fe6f638157f1eeaa00b6057.tar.gz
netsurf-ad74fa4d6f8695061fe6f638157f1eeaa00b6057.tar.bz2
fix scrolling on gtk3
Diffstat (limited to 'gtk')
-rw-r--r--gtk/res/tabcontents.gtk3.ui8
-rw-r--r--gtk/window.c9
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);