Redraw instead of scrolling in ScintillaGTK::ScrollText if there is

an existing update region.
Revert earlier ScintillaGTK::ExposeTextThis change.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1278 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Nick Treleaven 2007-02-14 12:42:28 +00:00
parent 35cee7489a
commit ddaeef09fe
2 changed files with 10 additions and 7 deletions

View File

@ -2,6 +2,10 @@
* geany.desktop.in:
Add MimeType text/x-diff.
* scintilla/ScintillaGTK.cxx:
Redraw instead of scrolling in ScintillaGTK::ScrollText if there is
an existing update region.
Revert earlier ScintillaGTK::ExposeTextThis change.
2007-02-13 Nick Treleaven <nick.treleaven@btinternet.com>

View File

@ -1118,6 +1118,11 @@ void ScintillaGTK::ScrollText(int linesToMove) {
gdk_gc_unref(gc);
#else
// check if e.g. an existing scroll event has occurred
if (rgnUpdate != NULL) {
Redraw();
return;
}
gdk_window_scroll(wi->window, 0, -diff);
gdk_window_process_updates(wi->window, FALSE);
#endif
@ -2198,13 +2203,7 @@ gint ScintillaGTK::ExposeTextThis(GtkWidget * /*widget*/, GdkEventExpose *ose) {
rcPaint.right = ose->area.x + ose->area.width;
rcPaint.bottom = ose->area.y + ose->area.height;
/* We can receive an expose-event during an expose-event.
* This can happen when two different scroll messages are sent at different times. */
if (rgnUpdate != NULL)
{
gdk_region_destroy(rgnUpdate);
rgnUpdate = NULL;
}
PLATFORM_ASSERT(rgnUpdate == NULL);
#if GTK_MAJOR_VERSION >= 2
rgnUpdate = gdk_region_copy(ose->region);
#endif