Blender Git Loki
Git Commits -> Revision 009bc8c
Revision 009bc8c by Julian Eisel (temp_widgets_update_tagging) May 5, 2016, 00:38 (GMT) |
Better way of handling face map widgets in new tagging system * On widget group init, needed widgets are created and stored in a hash table (wmWidgetGroup.customdata). * On widget group refresh, a new hash table is created and compared to the old one. For each widget needed we check if it's already existing in the old hash table, if so it's moved to the new one, if not it gets created. * The remaining widgets in the old hash table get completely deleted, the old hash table gets deleted, the new one is stored (wmWidgetGroup.customdata) and becomes the old one on next refresh. Solves all issues mentioned in rB003c181a640576b (and removes quite some ugly stuff). Did minor cleanup in overlapping parts. |
Commit Details:
Full Hash: 009bc8ce0ee946e32b1ecddd42703823f67f2841
Parent Commit: 7c9955f
Lines Changed: +101, -93
9 Modified Paths:
/source/blender/editors/include/ED_view3d.h (+0, -3) (Diff)
/source/blender/editors/space_view3d/view3d_widgets.c (+58, -52) (Diff)
/source/blender/makesrna/intern/rna_pose.c (+0, -15) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widget.c (+27, -7) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c (+11, -11) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetmap.c (+1, -1) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widget_intern.h (+2, -3) (Diff)
/source/blender/windowmanager/widgets/WM_widget_api.h (+1, -0) (Diff)
/source/blender/windowmanager/widgets/wm_widget_wmapi.h (+1, -1) (Diff)
/source/blender/editors/space_view3d/view3d_widgets.c (+58, -52) (Diff)
/source/blender/makesrna/intern/rna_pose.c (+0, -15) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widget.c (+27, -7) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c (+11, -11) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetmap.c (+1, -1) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widget_intern.h (+2, -3) (Diff)
/source/blender/windowmanager/widgets/WM_widget_api.h (+1, -0) (Diff)
/source/blender/windowmanager/widgets/wm_widget_wmapi.h (+1, -1) (Diff)