rpms/vte/devel vte-0.16-redraw-race.patch, NONE, 1.1 vte.spec, 1.102, 1.103
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Sat Mar 24 05:08:21 UTC 2007
Author: mclasen
Update of /cvs/dist/rpms/vte/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv4869
Modified Files:
vte.spec
Added Files:
vte-0.16-redraw-race.patch
Log Message:
fix a redraw problem
vte-0.16-redraw-race.patch:
vte.c | 22 +++++++++++++---------
1 files changed, 13 insertions(+), 9 deletions(-)
--- NEW FILE vte-0.16-redraw-race.patch ---
Index: src/vte.c
===================================================================
--- src/vte.c (revision 1843)
+++ src/vte.c (revision 1844)
@@ -1614,19 +1614,19 @@
}
/* Queue an adjustment-changed signal to be delivered when convenient. */
-static void
+static inline void
vte_terminal_queue_adjustment_changed(VteTerminal *terminal)
{
terminal->pvt->adjustment_changed_pending = TRUE;
- vte_terminal_start_processing (terminal);
+ add_update_timeout (terminal);
}
-static void
+static inline void
vte_terminal_queue_adjustment_value_changed(VteTerminal *terminal, glong v)
{
if (v != terminal->pvt->screen->scroll_delta) {
terminal->pvt->screen->scroll_delta = v;
terminal->pvt->adjustment_value_changed_pending = TRUE;
- vte_terminal_start_processing (terminal);
+ add_update_timeout (terminal);
}
}
@@ -3670,7 +3670,7 @@
}
return !eof &&
- (active_terminals ? g_list_length (active_terminals) : 1) *
+ g_list_length (active_terminals) *
terminal->pvt->input_bytes < terminal->pvt->max_input_bytes;
}
@@ -3739,7 +3739,6 @@
}
if (_vte_buffer_length(terminal->pvt->outgoing) == 0) {
- _vte_terminal_disconnect_pty_write(terminal);
leave_open = FALSE;
} else {
leave_open = TRUE;
@@ -10152,14 +10151,19 @@
vte_terminal_expose(GtkWidget *widget, GdkEventExpose *event)
{
VteTerminal *terminal = VTE_TERMINAL (widget);
+ /* Beware the out of order events -
+ * do not even think about skipping exposes! */
_vte_debug_print (VTE_DEBUG_WORK, "+");
- if (terminal->pvt->visibility_state == GDK_VISIBILITY_FULLY_OBSCURED) {
- return FALSE;
- }
_vte_debug_print (VTE_DEBUG_EVENTS, "Expose (%d,%d)x(%d,%d)\n",
event->area.x, event->area.y,
event->area.width, event->area.height);
if (terminal->pvt->active != NULL && !in_update_timeout) {
+ /* fix up a race condition where we schedule a delayed update
+ * after an 'immediate' invalidate all */
+ if (terminal->pvt->invalidated_all &&
+ terminal->pvt->update_regions == NULL) {
+ terminal->pvt->invalidated_all = FALSE;
+ }
/* if we expect to redraw the widget soon,
* just add this event to the list */
if (!terminal->pvt->invalidated_all) {
Index: vte.spec
===================================================================
RCS file: /cvs/dist/rpms/vte/devel/vte.spec,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -r1.102 -r1.103
--- vte.spec 13 Mar 2007 01:29:09 -0000 1.102
+++ vte.spec 24 Mar 2007 05:08:18 -0000 1.103
@@ -1,11 +1,12 @@
Name: vte
Version: 0.16.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A terminal emulator
License: LGPL
Group: User Interface/X
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source: ftp://ftp.gnome.org/pub/GNOME/sources/vte/0.15/%{name}-%{version}.tar.bz2
+Patch0: vte-0.16-redraw-race.patch
BuildRequires: gtk2-devel, pygtk2-devel, python-devel, ncurses-devel
BuildRequires: gettext
BuildRequires: libXt-devel
@@ -29,6 +30,7 @@
%prep
%setup -q
+%patch0 -p1 -b .redraw-race
%build
PYTHON=%{_bindir}/python`%{__python} -c "import sys ; print sys.version[:3]"`
@@ -101,6 +103,9 @@
%{_libdir}/pkgconfig/*
%changelog
+* Sat Mar 24 2007 Matthias Clasen <mclasen at redhat.com> 0.16.0-2
+- Add a patch to fix redraw problems
+
* Mon Mar 12 2007 Behdad Esfahbod <besfahbo at redhat.com> 0.16.0-1
- Update to 0.16.0
More information about the fedora-cvs-commits
mailing list