diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-06-12 18:26:38 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-06-12 18:26:38 +0300 |
commit | 760e79d8092a121b9d0e1cd02019478c808acae9 (patch) | |
tree | dfd5050507b6a3c87a7314abd805fc792083c947 /source/blender | |
parent | ec4ce908db6124037c4dfd927f22a9eec0ba4d52 (diff) |
WM: rename BKE_regiontype_from_id
This returns the first as a fallback, causing confusing usage.
Renamed and added a version of the function that doesn't.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_screen.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/screen.c | 18 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_eyedropper_datablock.c | 2 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_eyedropper_depth.c | 2 | ||||
-rw-r--r-- | source/blender/editors/screen/area.c | 2 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 2 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_rna_callback.c | 4 |
7 files changed, 22 insertions, 9 deletions
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h index 44f5d9a393e..09390ab8776 100644 --- a/source/blender/blenkernel/BKE_screen.h +++ b/source/blender/blenkernel/BKE_screen.h @@ -271,6 +271,7 @@ typedef struct Menu { /* spacetypes */ struct SpaceType *BKE_spacetype_from_id(int spaceid); +struct ARegionType *BKE_regiontype_from_id_or_first(struct SpaceType *st, int regionid); struct ARegionType *BKE_regiontype_from_id(struct SpaceType *st, int regionid); const struct ListBase *BKE_spacetypes_list(void); void BKE_spacetype_register(struct SpaceType *st); diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index 2b1cf0a01df..6723e826cdb 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -107,7 +107,7 @@ SpaceType *BKE_spacetype_from_id(int spaceid) return NULL; } -ARegionType *BKE_regiontype_from_id(SpaceType *st, int regionid) +ARegionType *BKE_regiontype_from_id_or_first(SpaceType *st, int regionid) { ARegionType *art; @@ -119,6 +119,18 @@ ARegionType *BKE_regiontype_from_id(SpaceType *st, int regionid) return st->regiontypes.first; } +ARegionType *BKE_regiontype_from_id(SpaceType *st, int regionid) +{ + ARegionType *art; + + for (art = st->regiontypes.first; art; art = art->next) { + if (art->regionid == regionid) { + return art; + } + } + return NULL; +} + const ListBase *BKE_spacetypes_list(void) { @@ -185,7 +197,7 @@ ARegion *BKE_area_region_copy(SpaceType *st, ARegion *ar) /* use optional regiondata callback */ if (ar->regiondata) { - ARegionType *art = BKE_regiontype_from_id(st, ar->regiontype); + ARegionType *art = BKE_regiontype_from_id_or_first(st, ar->regiontype); if (art && art->duplicate) newar->regiondata = art->duplicate(ar->regiondata); @@ -295,7 +307,7 @@ void BKE_area_region_free(SpaceType *st, ARegion *ar) uiList *uilst; if (st) { - ARegionType *art = BKE_regiontype_from_id(st, ar->regiontype); + ARegionType *art = BKE_regiontype_from_id_or_first(st, ar->regiontype); if (art && art->free) art->free(ar); diff --git a/source/blender/editors/interface/interface_eyedropper_datablock.c b/source/blender/editors/interface/interface_eyedropper_datablock.c index 416022a9dd0..5e449ae34e3 100644 --- a/source/blender/editors/interface/interface_eyedropper_datablock.c +++ b/source/blender/editors/interface/interface_eyedropper_datablock.c @@ -94,7 +94,7 @@ static int datadropper_init(bContext *C, wmOperator *op) ARegionType *art; st = BKE_spacetype_from_id(SPACE_VIEW3D); - art = BKE_regiontype_from_id(st, RGN_TYPE_WINDOW); + art = BKE_regiontype_from_id_or_first(st, RGN_TYPE_WINDOW); op->customdata = ddr = MEM_callocN(sizeof(DataDropper), "DataDropper"); diff --git a/source/blender/editors/interface/interface_eyedropper_depth.c b/source/blender/editors/interface/interface_eyedropper_depth.c index 8e2ca2e2b3a..8b37ec1d2b4 100644 --- a/source/blender/editors/interface/interface_eyedropper_depth.c +++ b/source/blender/editors/interface/interface_eyedropper_depth.c @@ -94,7 +94,7 @@ static int depthdropper_init(bContext *C, wmOperator *op) ARegionType *art; st = BKE_spacetype_from_id(SPACE_VIEW3D); - art = BKE_regiontype_from_id(st, RGN_TYPE_WINDOW); + art = BKE_regiontype_from_id_or_first(st, RGN_TYPE_WINDOW); op->customdata = ddr = MEM_callocN(sizeof(DepthDropper), "DepthDropper"); diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 3f365fc1500..6e4cbf27e28 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1452,7 +1452,7 @@ void ED_area_initialize(wmWindowManager *wm, wmWindow *win, ScrArea *sa) } for (ar = sa->regionbase.first; ar; ar = ar->next) - ar->type = BKE_regiontype_from_id(sa->type, ar->regiontype); + ar->type = BKE_regiontype_from_id_or_first(sa->type, ar->regiontype); /* area sizes */ area_calc_totrct(sa, WM_window_pixels_x(win), WM_window_pixels_y(win)); diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 0e32ec3c34f..d1b14c7bd31 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -897,7 +897,7 @@ static void screen_refresh_headersizes(void) SpaceType *st; for (st = lb->first; st; st = st->next) { - ARegionType *art = BKE_regiontype_from_id(st, RGN_TYPE_HEADER); + ARegionType *art = BKE_regiontype_from_id_or_first(st, RGN_TYPE_HEADER); if (art) art->prefsizey = ED_area_headersize(); } } diff --git a/source/blender/python/intern/bpy_rna_callback.c b/source/blender/python/intern/bpy_rna_callback.c index b1ac6bee608..0a7e9c3b4c9 100644 --- a/source/blender/python/intern/bpy_rna_callback.c +++ b/source/blender/python/intern/bpy_rna_callback.c @@ -226,7 +226,7 @@ PyObject *pyrna_callback_classmethod_add(PyObject *UNUSED(self), PyObject *args) } else { SpaceType *st = BKE_spacetype_from_id(spaceid); - ARegionType *art = BKE_regiontype_from_id(st, cb_regiontype); + ARegionType *art = BKE_regiontype_from_id_or_first(st, cb_regiontype); handle = ED_region_draw_cb_activate(art, cb_region_draw, (void *)args, cb_event); Py_INCREF(args); @@ -289,7 +289,7 @@ PyObject *pyrna_callback_classmethod_remove(PyObject *UNUSED(self), PyObject *ar } else { SpaceType *st = BKE_spacetype_from_id(spaceid); - ARegionType *art = BKE_regiontype_from_id(st, cb_regiontype); + ARegionType *art = BKE_regiontype_from_id_or_first(st, cb_regiontype); ED_region_draw_cb_exit(art, handle); } |