Re: [OE-core] [PATCH 3/3] vte: fix scroll issue
On Wed, Feb 22, 2012 at 11:03:01PM +, Richard Purdie wrote: On Wed, 2012-02-22 at 13:33 +0800, edwin.z...@intel.com wrote: From: Zhai Edwin edwin.z...@intel.com On qemu x86-64, scrollbar in vte got broken with one commit to change the way of emiting changed signal. This patch revert it as work around. [YOCTO #1906] got fixed. This patch worries me a bit (well, a lot really). Why is this only broken on 64 bit? How does this revert fix things? It looks like its not the real problem to me? The root cause is unkown. I suspect something in gtk caused the changed signal missing with the new method. I have created a bug for vte in gnome.org, but no response so far. Cheers, Richard Signed-off-by: Zhai Edwin edwin.z...@intel.com --- meta/recipes-support/vte/vte.inc |3 +- meta/recipes-support/vte/vte/scrollbar_fix.patch | 122 ++ meta/recipes-support/vte/vte_0.28.2.bb |2 +- 3 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-support/vte/vte/scrollbar_fix.patch diff --git a/meta/recipes-support/vte/vte.inc b/meta/recipes-support/vte/vte.inc index 54bd8ae..d3406e5 100644 --- a/meta/recipes-support/vte/vte.inc +++ b/meta/recipes-support/vte/vte.inc @@ -6,7 +6,8 @@ RDEPENDS_libvte = vte-termcap inherit gnome -SRC_URI += file://introspection.patch +SRC_URI += file://introspection.patch\ +file://scrollbar_fix.patch EXTRA_OECONF = --disable-gtk-doc --disable-python --disable-introspection diff --git a/meta/recipes-support/vte/vte/scrollbar_fix.patch b/meta/recipes-support/vte/vte/scrollbar_fix.patch new file mode 100644 index 000..707377a --- /dev/null +++ b/meta/recipes-support/vte/vte/scrollbar_fix.patch @@ -0,0 +1,122 @@ +On qemu x86-64, matchbox-terminal has broken scrollbar, because of following +commit in vte. This patch revert it as work around. + +Signed-off-by: Zhai Edwin edwin.z...@intel.com + +Upstream-Status: Inappropriate [workaround] + +commit 6eadb8494797e44910b86b5e101823cf527c04e1 +Author: Kristian Høgsberg k...@bitplanet.net +Date: Thu Jul 15 09:07:51 2010 -0400 + +Use accessors for setting adjustment + +We use g_object_freeze_notify() to emit the same amount of ::changed +signals. + +Index: vte-0.28.2/src/vte.c +=== +--- vte-0.28.2.orig/src/vte.c 2011-08-29 05:31:45.0 +0800 vte-0.28.2/src/vte.c 2012-02-21 11:03:22.0 +0800 +@@ -2018,15 +2018,13 @@ + glong v; + gdouble current; + +- g_object_freeze_notify (G_OBJECT (terminal-adjustment)); +- + v = _vte_ring_delta (screen-row_data); + current = gtk_adjustment_get_lower(terminal-adjustment); + if (current != v) { + _vte_debug_print(VTE_DEBUG_ADJ, + Changing lower bound from %.0f to %ld\n, +current, v); +- gtk_adjustment_set_lower(terminal-adjustment, v); ++ terminal-adjustment-lower = v; + changed = TRUE; + } + +@@ -2039,19 +2037,19 @@ + _vte_debug_print(VTE_DEBUG_ADJ, + Changing upper bound from %.0f to %ld\n, +current, v); +- gtk_adjustment_set_upper(terminal-adjustment, v); ++ terminal-adjustment-upper = v; + changed = TRUE; + } + +- g_object_thaw_notify (G_OBJECT (terminal-adjustment)); +- +- if (changed) ++ if (changed) { + _vte_debug_print(VTE_DEBUG_SIGNALS, + Emitting adjustment_changed.\n); ++ gtk_adjustment_changed(terminal-adjustment); ++ } + terminal-pvt-adjustment_changed_pending = FALSE; + } + if (terminal-pvt-adjustment_value_changed_pending) { +- glong v, delta; ++ glong v; + _vte_debug_print(VTE_DEBUG_SIGNALS, + Emitting adjustment_value_changed.\n); + terminal-pvt-adjustment_value_changed_pending = FALSE; +@@ -2062,9 +2060,9 @@ +* via the adjustment - e.g. user interaction with the +* scrollbar +*/ +- delta = terminal-pvt-screen-scroll_delta; ++ terminal-adjustment-value = terminal-pvt-screen-scroll_delta; + terminal-pvt-screen-scroll_delta = v; +- gtk_adjustment_set_value(terminal-adjustment, delta); ++ gtk_adjustment_value_changed(terminal-adjustment); + } + } +
Re: [OE-core] [PATCH 3/3] vte: fix scroll issue
On Wed, 2012-02-22 at 13:33 +0800, edwin.z...@intel.com wrote: From: Zhai Edwin edwin.z...@intel.com On qemu x86-64, scrollbar in vte got broken with one commit to change the way of emiting changed signal. This patch revert it as work around. [YOCTO #1906] got fixed. This patch worries me a bit (well, a lot really). Why is this only broken on 64 bit? How does this revert fix things? It looks like its not the real problem to me? Cheers, Richard Signed-off-by: Zhai Edwin edwin.z...@intel.com --- meta/recipes-support/vte/vte.inc |3 +- meta/recipes-support/vte/vte/scrollbar_fix.patch | 122 ++ meta/recipes-support/vte/vte_0.28.2.bb |2 +- 3 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-support/vte/vte/scrollbar_fix.patch diff --git a/meta/recipes-support/vte/vte.inc b/meta/recipes-support/vte/vte.inc index 54bd8ae..d3406e5 100644 --- a/meta/recipes-support/vte/vte.inc +++ b/meta/recipes-support/vte/vte.inc @@ -6,7 +6,8 @@ RDEPENDS_libvte = vte-termcap inherit gnome -SRC_URI += file://introspection.patch +SRC_URI += file://introspection.patch\ +file://scrollbar_fix.patch EXTRA_OECONF = --disable-gtk-doc --disable-python --disable-introspection diff --git a/meta/recipes-support/vte/vte/scrollbar_fix.patch b/meta/recipes-support/vte/vte/scrollbar_fix.patch new file mode 100644 index 000..707377a --- /dev/null +++ b/meta/recipes-support/vte/vte/scrollbar_fix.patch @@ -0,0 +1,122 @@ +On qemu x86-64, matchbox-terminal has broken scrollbar, because of following +commit in vte. This patch revert it as work around. + +Signed-off-by: Zhai Edwin edwin.z...@intel.com + +Upstream-Status: Inappropriate [workaround] + +commit 6eadb8494797e44910b86b5e101823cf527c04e1 +Author: Kristian Høgsberg k...@bitplanet.net +Date: Thu Jul 15 09:07:51 2010 -0400 + +Use accessors for setting adjustment + +We use g_object_freeze_notify() to emit the same amount of ::changed +signals. + +Index: vte-0.28.2/src/vte.c +=== +--- vte-0.28.2.orig/src/vte.c2011-08-29 05:31:45.0 +0800 vte-0.28.2/src/vte.c 2012-02-21 11:03:22.0 +0800 +@@ -2018,15 +2018,13 @@ + glong v; + gdouble current; + +-g_object_freeze_notify (G_OBJECT (terminal-adjustment)); +- + v = _vte_ring_delta (screen-row_data); + current = gtk_adjustment_get_lower(terminal-adjustment); + if (current != v) { + _vte_debug_print(VTE_DEBUG_ADJ, + Changing lower bound from %.0f to %ld\n, + current, v); +-gtk_adjustment_set_lower(terminal-adjustment, v); ++terminal-adjustment-lower = v; + changed = TRUE; + } + +@@ -2039,19 +2037,19 @@ + _vte_debug_print(VTE_DEBUG_ADJ, + Changing upper bound from %.0f to %ld\n, + current, v); +-gtk_adjustment_set_upper(terminal-adjustment, v); ++terminal-adjustment-upper = v; + changed = TRUE; + } + +-g_object_thaw_notify (G_OBJECT (terminal-adjustment)); +- +-if (changed) ++if (changed) { + _vte_debug_print(VTE_DEBUG_SIGNALS, + Emitting adjustment_changed.\n); ++gtk_adjustment_changed(terminal-adjustment); ++} + terminal-pvt-adjustment_changed_pending = FALSE; + } + if (terminal-pvt-adjustment_value_changed_pending) { +-glong v, delta; ++glong v; + _vte_debug_print(VTE_DEBUG_SIGNALS, + Emitting adjustment_value_changed.\n); + terminal-pvt-adjustment_value_changed_pending = FALSE; +@@ -2062,9 +2060,9 @@ + * via the adjustment - e.g. user interaction with the + * scrollbar + */ +-delta = terminal-pvt-screen-scroll_delta; ++terminal-adjustment-value = terminal-pvt-screen-scroll_delta; + terminal-pvt-screen-scroll_delta = v; +-gtk_adjustment_set_value(terminal-adjustment, delta); ++gtk_adjustment_value_changed(terminal-adjustment); + } + } + } +@@ -2141,15 +2139,13 @@ + + _vte_terminal_adjust_adjustments(terminal); + +-g_object_freeze_notify(G_OBJECT(terminal-adjustment)); +- + /* The step increment should always be one. */ + v = gtk_adjustment_get_step_increment(terminal-adjustment); +
[OE-core] [PATCH 3/3] vte: fix scroll issue
From: Zhai Edwin edwin.z...@intel.com On qemu x86-64, scrollbar in vte got broken with one commit to change the way of emiting changed signal. This patch revert it as work around. [YOCTO #1906] got fixed. Signed-off-by: Zhai Edwin edwin.z...@intel.com --- meta/recipes-support/vte/vte.inc |3 +- meta/recipes-support/vte/vte/scrollbar_fix.patch | 122 ++ meta/recipes-support/vte/vte_0.28.2.bb |2 +- 3 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-support/vte/vte/scrollbar_fix.patch diff --git a/meta/recipes-support/vte/vte.inc b/meta/recipes-support/vte/vte.inc index 54bd8ae..d3406e5 100644 --- a/meta/recipes-support/vte/vte.inc +++ b/meta/recipes-support/vte/vte.inc @@ -6,7 +6,8 @@ RDEPENDS_libvte = vte-termcap inherit gnome -SRC_URI += file://introspection.patch +SRC_URI += file://introspection.patch\ +file://scrollbar_fix.patch EXTRA_OECONF = --disable-gtk-doc --disable-python --disable-introspection diff --git a/meta/recipes-support/vte/vte/scrollbar_fix.patch b/meta/recipes-support/vte/vte/scrollbar_fix.patch new file mode 100644 index 000..707377a --- /dev/null +++ b/meta/recipes-support/vte/vte/scrollbar_fix.patch @@ -0,0 +1,122 @@ +On qemu x86-64, matchbox-terminal has broken scrollbar, because of following +commit in vte. This patch revert it as work around. + +Signed-off-by: Zhai Edwin edwin.z...@intel.com + +Upstream-Status: Inappropriate [workaround] + +commit 6eadb8494797e44910b86b5e101823cf527c04e1 +Author: Kristian Høgsberg k...@bitplanet.net +Date: Thu Jul 15 09:07:51 2010 -0400 + +Use accessors for setting adjustment + +We use g_object_freeze_notify() to emit the same amount of ::changed +signals. + +Index: vte-0.28.2/src/vte.c +=== +--- vte-0.28.2.orig/src/vte.c 2011-08-29 05:31:45.0 +0800 vte-0.28.2/src/vte.c 2012-02-21 11:03:22.0 +0800 +@@ -2018,15 +2018,13 @@ + glong v; + gdouble current; + +- g_object_freeze_notify (G_OBJECT (terminal-adjustment)); +- + v = _vte_ring_delta (screen-row_data); + current = gtk_adjustment_get_lower(terminal-adjustment); + if (current != v) { + _vte_debug_print(VTE_DEBUG_ADJ, + Changing lower bound from %.0f to %ld\n, +current, v); +- gtk_adjustment_set_lower(terminal-adjustment, v); ++ terminal-adjustment-lower = v; + changed = TRUE; + } + +@@ -2039,19 +2037,19 @@ + _vte_debug_print(VTE_DEBUG_ADJ, + Changing upper bound from %.0f to %ld\n, +current, v); +- gtk_adjustment_set_upper(terminal-adjustment, v); ++ terminal-adjustment-upper = v; + changed = TRUE; + } + +- g_object_thaw_notify (G_OBJECT (terminal-adjustment)); +- +- if (changed) ++ if (changed) { + _vte_debug_print(VTE_DEBUG_SIGNALS, + Emitting adjustment_changed.\n); ++ gtk_adjustment_changed(terminal-adjustment); ++ } + terminal-pvt-adjustment_changed_pending = FALSE; + } + if (terminal-pvt-adjustment_value_changed_pending) { +- glong v, delta; ++ glong v; + _vte_debug_print(VTE_DEBUG_SIGNALS, + Emitting adjustment_value_changed.\n); + terminal-pvt-adjustment_value_changed_pending = FALSE; +@@ -2062,9 +2060,9 @@ +* via the adjustment - e.g. user interaction with the +* scrollbar +*/ +- delta = terminal-pvt-screen-scroll_delta; ++ terminal-adjustment-value = terminal-pvt-screen-scroll_delta; + terminal-pvt-screen-scroll_delta = v; +- gtk_adjustment_set_value(terminal-adjustment, delta); ++ gtk_adjustment_value_changed(terminal-adjustment); + } + } + } +@@ -2141,15 +2139,13 @@ + + _vte_terminal_adjust_adjustments(terminal); + +-g_object_freeze_notify(G_OBJECT(terminal-adjustment)); +- + /* The step increment should always be one. */ + v = gtk_adjustment_get_step_increment(terminal-adjustment); + if (v != 1) { + _vte_debug_print(VTE_DEBUG_ADJ, + Changing step increment from %.0lf to %ld\n, + v, terminal-row_count); +- gtk_adjustment_set_step_increment(terminal-adjustment, 1); ++