X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fscrollbar-x.c;h=554be5d3ef2efaf3283ed8f8f6f24adcb990b6e8;hb=9816585ded614fa87be5a2ecfda6dc16c60beb2c;hp=7034321cd8688dd87e74a579b99eaefe955c18bb;hpb=376658ea71d16dced8acff36c3e385ac3738d868;p=chise%2Fxemacs-chise.git- diff --git a/src/scrollbar-x.c b/src/scrollbar-x.c index 7034321..554be5d 100644 --- a/src/scrollbar-x.c +++ b/src/scrollbar-x.c @@ -215,6 +215,7 @@ scrollbar_instance_to_widget_value (struct scrollbar_instance *instance) wv->scrollbar_data = xnew (scrollbar_values); wv->name = SCROLLBAR_X_NAME (instance); + wv->name = xstrdup (wv->name); wv->value = 0; wv->key = 0; wv->enabled = instance->scrollbar_is_active; @@ -278,9 +279,7 @@ x_update_scrollbar_instance_status (struct window *w, int active, int size, } if (!wv->scrollbar_data) abort (); - xfree (wv->scrollbar_data); - wv->scrollbar_data = 0; - free_widget_value (wv); + free_widget_value_tree (wv); } else if (managed) { @@ -407,6 +406,9 @@ x_update_vertical_scrollbar_callback (Widget widget, LWLIB_ID id, return; mirror = find_scrollbar_window_mirror (f, id); + if (!mirror) + return; + win = real_window (mirror, 1); if (NILP (win)) @@ -610,6 +612,9 @@ x_update_horizontal_scrollbar_callback (Widget widget, LWLIB_ID id, return; mirror = find_scrollbar_window_mirror (f, id); + if (!mirror) + return; + win = real_window (mirror, 1); if (NILP (win))