aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <unknown>2003-04-05 23:55:42 +0000
committernyamatongwe <unknown>2003-04-05 23:55:42 +0000
commit2cbcba20e38fe5978a8aae79d41c1f6c56a3bc3b (patch)
treee92af83767a05585588aa975eaa66c6aa38bebdb
parent35dd9e73821ef02dee70fbea3f4db7caea70391b (diff)
downloadscintilla-mirror-2cbcba20e38fe5978a8aae79d41c1f6c56a3bc3b.tar.gz
Avoid invalidating scroll bars.
On GTK+ 2 do not perform expose processing as that leads to error messages. Using gdk_window_resize on calltip to allow shrinking.
-rw-r--r--gtk/ScintillaGTK.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx
index 54c025fbc..70b790c80 100644
--- a/gtk/ScintillaGTK.cxx
+++ b/gtk/ScintillaGTK.cxx
@@ -679,7 +679,9 @@ void ScintillaGTK::FullPaint() {
}
paintState = notPainting;
#else
- wMain.InvalidateAll();
+ rcPaint = GetClientRectangle();
+ wMain.InvalidateRectangle(rcPaint);
+ //wMain.InvalidateAll();
#endif
}
@@ -728,7 +730,6 @@ void ScintillaGTK::ScrollText(int linesToMove) {
// rc.left, rc.top, rc.right, rc.bottom);
GtkWidget *wi = PWidget(wMain);
GdkGC *gc = gdk_gc_new(wi->window);
- GdkEvent* event;
// Set up gc so we get GraphicsExposures from gdk_draw_pixmap
// which calls XCopyArea
@@ -754,7 +755,9 @@ void ScintillaGTK::ScrollText(int linesToMove) {
SyncPaint(PRectangle(0, 0, rc.Width(), -diff));
}
+#if GTK_MAJOR_VERSION < 2
// Look for any graphics expose
+ GdkEvent* event;
while ((event = gdk_event_get_graphics_expose(wi->window)) != NULL) {
gtk_widget_event(wi, event);
if (event->expose.count == 0) {
@@ -763,6 +766,7 @@ void ScintillaGTK::ScrollText(int linesToMove) {
}
gdk_event_free(event);
}
+#endif
gdk_gc_unref(gc);
}
@@ -909,8 +913,9 @@ void ScintillaGTK::CreateCallTipWindow(PRectangle rc) {
gtk_drawing_area_size(GTK_DRAWING_AREA(PWidget(ct.wDraw)),
rc.Width(), rc.Height());
ct.wDraw.Show();
- gtk_widget_set_usize(PWidget(ct.wCallTip), rc.Width(), rc.Height());
- //gtk_widget_queue_resize(PWidget(ct.wCallTip));
+ ct.wCallTip.Show();
+ //gtk_widget_set_usize(PWidget(ct.wCallTip), rc.Width(), rc.Height());
+ gdk_window_resize(PWidget(ct.wCallTip)->window, rc.Width(), rc.Height());
}
void ScintillaGTK::AddToPopUp(const char *label, int cmd, bool enabled) {