diff options
| author | nyamatongwe <unknown> | 2001-08-28 11:25:08 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2001-08-28 11:25:08 +0000 | 
| commit | 9a03e4d0db878989a349f16193feb7935c8d5324 (patch) | |
| tree | 635127d20e66eab7bd2c5a51387714c4c969d733 | |
| parent | f981835ad21f17ceb934b53fe5b1cbae6246707c (diff) | |
| download | scintilla-mirror-9a03e4d0db878989a349f16193feb7935c8d5324.tar.gz | |
Patch from john to avoid leaking memory when setting cursor.
| -rw-r--r-- | gtk/PlatGTK.cxx | 16 | 
1 files changed, 10 insertions, 6 deletions
| diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index c09aefa04..3e2d10f99 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -640,26 +640,30 @@ void Window::SetFont(Font &) {  }  void Window::SetCursor(Cursor curs) { +	GdkCursor *gdkCurs;  	switch (curs) {  	case cursorText: -		gdk_window_set_cursor(id->window, gdk_cursor_new(GDK_XTERM)); +		gdkCurs = gdk_cursor_new(GDK_XTERM);  		break;  	case cursorArrow: -		gdk_window_set_cursor(id->window, gdk_cursor_new(GDK_ARROW)); +		gdkCurs = gdk_cursor_new(GDK_ARROW);  		break;  	case cursorUp: -		gdk_window_set_cursor(id->window, gdk_cursor_new(GDK_CENTER_PTR)); +		gdkCurs = gdk_cursor_new(GDK_CENTER_PTR);  		break;  	case cursorWait: -		gdk_window_set_cursor(id->window, gdk_cursor_new(GDK_WATCH)); +		gdkCurs = gdk_cursor_new(GDK_WATCH);  		break;  	case cursorReverseArrow: -		gdk_window_set_cursor(id->window, gdk_cursor_new(GDK_TOP_LEFT_ARROW)); +		gdkCurs = gdk_cursor_new(GDK_TOP_LEFT_ARROW);  		break;  	default: -		gdk_window_set_cursor(id->window, gdk_cursor_new(GDK_ARROW)); +		gdkCurs = gdk_cursor_new(GDK_ARROW);  		break;  	} +	 +	gdk_window_set_cursor(id->window, gdkCurs); +	gdk_cursor_destroy(gdkCurs);  }  void Window::SetTitle(const char *s) { | 
