aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoakim Verona2011-07-05 11:27:32 +0200
committerJoakim Verona2011-07-05 11:27:32 +0200
commitd812bba65d7f22a624c8cc19e9ec21ffe3720228 (patch)
treea217ce72e72646458352eeec8e48c9b2766e7709 /src
parentf53a15f2c3b8eec90e76c95058842d76e60d29cd (diff)
downloademacs-d812bba65d7f22a624c8cc19e9ec21ffe3720228.tar.gz
emacs-d812bba65d7f22a624c8cc19e9ec21ffe3720228.zip
tweak to improve deletion of xwviews when emacs windows are closed
Diffstat (limited to 'src')
-rw-r--r--src/window.c1
-rw-r--r--src/xwidget.c13
-rw-r--r--src/xwidget.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index 93f763ec9af..3c867145620 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3953,6 +3953,7 @@ when WINDOW is the only window on its frame. */)
3953 { 3953 {
3954 /* Block input. */ 3954 /* Block input. */
3955 BLOCK_INPUT; 3955 BLOCK_INPUT;
3956 xwidget_view_delete_all_in_window(w);
3956 window_resize_apply (p, horflag); 3957 window_resize_apply (p, horflag);
3957 3958
3958 windows_or_buffers_changed++; 3959 windows_or_buffers_changed++;
diff --git a/src/xwidget.c b/src/xwidget.c
index 6b4cc2d459f..57243832ce3 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -1048,6 +1048,19 @@ xwidget_from_id (int id)
1048 return &xwidgets[id]; 1048 return &xwidgets[id];
1049} 1049}
1050 1050
1051void xwidget_view_delete_all_in_window( struct window *w )
1052{
1053 //xxx
1054 struct xwidget_view* xv = NULL;
1055 for (int i = 0; i < MAX_XWIDGETS; i++){
1056 xv = &xwidget_views[i];
1057 if(xv->w == w){
1058 gtk_widget_destroy(xv->widgetwindow);
1059 }
1060 }
1061}
1062
1063
1051struct xwidget_view* xwidget_view_lookup(struct xwidget* xw, struct window *w){ 1064struct xwidget_view* xwidget_view_lookup(struct xwidget* xw, struct window *w){
1052 struct xwidget_view* xv = NULL; 1065 struct xwidget_view* xv = NULL;
1053 for (int i = 0; i < MAX_XWIDGETS; i++) 1066 for (int i = 0; i < MAX_XWIDGETS; i++)
diff --git a/src/xwidget.h b/src/xwidget.h
index d5077bb0623..732dac5e7c2 100644
--- a/src/xwidget.h
+++ b/src/xwidget.h
@@ -85,3 +85,4 @@ void assert_valid_xwidget_id(int id,char *str);
85int lookup_xwidget (Lisp_Object spec); 85int lookup_xwidget (Lisp_Object spec);
86#define XG_XWIDGET "emacs_xwidget" 86#define XG_XWIDGET "emacs_xwidget"
87#define XG_XWIDGET_VIEW "emacs_xwidget_view" 87#define XG_XWIDGET_VIEW "emacs_xwidget_view"
88void xwidget_view_delete_all_in_window( struct window *w );