Mercurial > hg > xemacs-beta
comparison src/glyphs-x.c @ 404:2f8bb876ab1d r21-2-32
Import from CVS: tag r21-2-32
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:16:07 +0200 |
parents | 5a2589c672dc |
children | b8cc9ab3f761 |
comparison
equal
deleted
inserted
replaced
403:9f011ab08d48 | 404:2f8bb876ab1d |
---|---|
2187 /* First get the items if they have changed since this is a | 2187 /* First get the items if they have changed since this is a |
2188 structural change. As such it will nuke all added values so we | 2188 structural change. As such it will nuke all added values so we |
2189 need to update most other things after the items have changed.*/ | 2189 need to update most other things after the items have changed.*/ |
2190 if (IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (p)) | 2190 if (IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (p)) |
2191 { | 2191 { |
2192 /* Pick up the items we recorded earlier. We do this here so | |
2193 that the callbacks get set up with the new items. */ | |
2194 IMAGE_INSTANCE_WIDGET_ITEMS (p) = | |
2195 IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (p); | |
2196 IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (p) = Qnil; | |
2197 | |
2192 wv = gui_items_to_widget_values | 2198 wv = gui_items_to_widget_values |
2193 (IMAGE_INSTANCE_WIDGET_ITEMS (p)); | 2199 (IMAGE_INSTANCE_WIDGET_ITEMS (p)); |
2194 wv->change = STRUCTURAL_CHANGE; | 2200 wv->change = STRUCTURAL_CHANGE; |
2195 /* now modify the widget */ | 2201 /* now modify the widget */ |
2196 lw_modify_all_widgets (IMAGE_INSTANCE_X_WIDGET_LWID (p), | 2202 lw_modify_all_widgets (IMAGE_INSTANCE_X_WIDGET_LWID (p), |
2198 free_widget_value_tree (wv); | 2204 free_widget_value_tree (wv); |
2199 } | 2205 } |
2200 | 2206 |
2201 /* Now do non structural updates. */ | 2207 /* Now do non structural updates. */ |
2202 wv = lw_get_all_values (IMAGE_INSTANCE_X_WIDGET_LWID (p)); | 2208 wv = lw_get_all_values (IMAGE_INSTANCE_X_WIDGET_LWID (p)); |
2209 | |
2210 if (!wv) | |
2211 return; | |
2203 | 2212 |
2204 /* Possibly update the colors and font */ | 2213 /* Possibly update the colors and font */ |
2205 if (IMAGE_INSTANCE_WIDGET_FACE_CHANGED (p) | 2214 if (IMAGE_INSTANCE_WIDGET_FACE_CHANGED (p) |
2206 || | 2215 || |
2207 XFRAME (IMAGE_INSTANCE_SUBWINDOW_FRAME (p))->faces_changed | 2216 XFRAME (IMAGE_INSTANCE_SUBWINDOW_FRAME (p))->faces_changed |
2690 XFRAME (IMAGE_INSTANCE_SUBWINDOW_FRAME (ii))->faces_changed | 2699 XFRAME (IMAGE_INSTANCE_SUBWINDOW_FRAME (ii))->faces_changed |
2691 || | 2700 || |
2692 IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (ii)) | 2701 IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (ii)) |
2693 { | 2702 { |
2694 widget_value* wv = lw_get_all_values (IMAGE_INSTANCE_X_WIDGET_LWID (ii)); | 2703 widget_value* wv = lw_get_all_values (IMAGE_INSTANCE_X_WIDGET_LWID (ii)); |
2704 | |
2705 /* #### I don't know why this can occur. */ | |
2706 if (!wv) | |
2707 return; | |
2708 | |
2695 update_tab_widget_face (wv, ii, | 2709 update_tab_widget_face (wv, ii, |
2696 IMAGE_INSTANCE_SUBWINDOW_FRAME (ii)); | 2710 IMAGE_INSTANCE_SUBWINDOW_FRAME (ii)); |
2697 | 2711 |
2698 lw_modify_all_widgets (IMAGE_INSTANCE_X_WIDGET_LWID (ii), wv, True); | 2712 lw_modify_all_widgets (IMAGE_INSTANCE_X_WIDGET_LWID (ii), wv, True); |
2699 } | 2713 } |