diff options
author | Hans Goudey <h.goudey@me.com> | 2020-10-17 05:56:58 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-10-17 05:56:58 +0300 |
commit | e2c5439cb4eb423373750dae0dec8c5db3912b88 (patch) | |
tree | 44fa41d356e3b6963e7af82d7fff5241a279a9ab /source/blender/editors/screen/screen_ops.c | |
parent | 20276e4b00a228ab2ef80e58cc0171cec811015a (diff) |
Cleanup: Reduce variable scope in screen directory
Also return early and use LISTBASE_FOREACH in a few places
Diffstat (limited to 'source/blender/editors/screen/screen_ops.c')
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 262 |
1 files changed, 104 insertions, 158 deletions
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 6d5580f58ea..8fc2bf96639 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -159,11 +159,10 @@ static bool ED_operator_screenactive_norender(bContext *C) /* when mouse is over area-edge */ bool ED_operator_screen_mainwinactive(bContext *C) { - bScreen *screen; if (CTX_wm_window(C) == NULL) { return false; } - screen = CTX_wm_screen(C); + bScreen *screen = CTX_wm_screen(C); if (screen == NULL) { return false; } @@ -448,8 +447,8 @@ bool ED_operator_posemode_exclusive(bContext *C) Object *obact = CTX_data_active_object(C); if (obact && !(obact->mode & OB_MODE_EDIT)) { - Object *obpose; - if ((obpose = BKE_object_pose_armature_get(obact))) { + Object *obpose = BKE_object_pose_armature_get(obact); + if (obpose != NULL) { if (obact == obpose) { return true; } @@ -479,8 +478,8 @@ bool ED_operator_posemode(bContext *C) Object *obact = CTX_data_active_object(C); if (obact && !(obact->mode & OB_MODE_EDIT)) { - Object *obpose; - if ((obpose = BKE_object_pose_armature_get(obact))) { + Object *obpose = BKE_object_pose_armature_get(obact); + if (obpose != NULL) { if ((obact == obpose) || (obact->mode & OB_MODE_ALL_WEIGHT_PAINT)) { return true; } @@ -958,12 +957,12 @@ static void actionzone_exit(wmOperator *op) /* send EVT_ACTIONZONE event */ static void actionzone_apply(bContext *C, wmOperator *op, int type) { - wmEvent event; wmWindow *win = CTX_wm_window(C); sActionzoneData *sad = op->customdata; sad->modifier = RNA_int_get(op->ptr, "modifier"); + wmEvent event; wm_event_init_from_window(win, &event); if (type == AZONE_AREA) { @@ -988,7 +987,6 @@ static int actionzone_invoke(bContext *C, wmOperator *op, const wmEvent *event) { bScreen *screen = CTX_wm_screen(C); AZone *az = screen_actionzone_find_xy(screen, &event->x); - sActionzoneData *sad; /* Quick escape - Scroll azones only hide/unhide the scroll-bars, * they have their own handling. */ @@ -997,7 +995,7 @@ static int actionzone_invoke(bContext *C, wmOperator *op, const wmEvent *event) } /* ok we do the action-zone */ - sad = op->customdata = MEM_callocN(sizeof(sActionzoneData), "sActionzoneData"); + sActionzoneData *sad = op->customdata = MEM_callocN(sizeof(sActionzoneData), "sActionzoneData"); sad->sa1 = screen_actionzone_area(screen, az); sad->az = az; sad->x = event->x; @@ -1025,8 +1023,6 @@ static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event) switch (event->type) { case MOUSEMOVE: { - bool is_gesture; - const int delta_x = (event->x - sad->x); const int delta_y = (event->y - sad->y); @@ -1052,10 +1048,11 @@ static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event) sad->gesture_dir = 'w'; } + bool is_gesture; if (sad->az->type == AZONE_AREA) { wmWindow *win = CTX_wm_window(C); - rcti screen_rect; + rcti screen_rect; WM_window_screen_rect_calc(win, &screen_rect); /* Have we dragged off the zone and are not on an edge? */ @@ -1154,10 +1151,9 @@ static ScrEdge *screen_area_edge_from_cursor(const bContext *C, { wmWindow *win = CTX_wm_window(C); bScreen *screen = CTX_wm_screen(C); - ScrEdge *actedge; rcti window_rect; WM_window_rect_calc(win, &window_rect); - actedge = screen_geom_area_map_find_active_scredge( + ScrEdge *actedge = screen_geom_area_map_find_active_scredge( AREAMAP_FROM_SCREEN(screen), &window_rect, cursor[0], cursor[1]); *r_sa1 = NULL; *r_sa2 = NULL; @@ -1215,14 +1211,13 @@ typedef struct sAreaSwapData { static bool area_swap_init(wmOperator *op, const wmEvent *event) { - sAreaSwapData *sd = NULL; sActionzoneData *sad = event->customdata; if (sad == NULL || sad->sa1 == NULL) { return false; } - sd = MEM_callocN(sizeof(sAreaSwapData), "sAreaSwapData"); + sAreaSwapData *sd = MEM_callocN(sizeof(sAreaSwapData), "sAreaSwapData"); sd->sa1 = sad->sa1; sd->sa2 = sad->sa2; op->customdata = sd; @@ -1337,18 +1332,12 @@ static void SCREEN_OT_area_swap(wmOperatorType *ot) static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event) { Main *bmain = CTX_data_main(C); - wmWindow *newwin, *win = CTX_wm_window(C); - Scene *scene; + wmWindow *win = CTX_wm_window(C); WorkSpace *workspace = WM_window_get_active_workspace(win); WorkSpaceLayout *layout_old = WM_window_get_active_layout(win); - WorkSpaceLayout *layout_new; - bScreen *newsc; - ScrArea *area; - rcti rect; - win = CTX_wm_window(C); - scene = CTX_data_scene(C); - area = CTX_wm_area(C); + Scene *scene = CTX_data_scene(C); + ScrArea *area = CTX_wm_area(C); /* XXX hrmf! */ if (event->type == EVT_ACTIONZONE_AREA) { @@ -1362,12 +1351,12 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event) } /* adds window to WM */ - rect = area->totrct; + rcti rect = area->totrct; BLI_rcti_translate(&rect, win->posx, win->posy); rect.xmax = rect.xmin + BLI_rcti_size_x(&rect) / U.pixelsize; rect.ymax = rect.ymin + BLI_rcti_size_y(&rect) / U.pixelsize; - newwin = WM_window_open(C, &rect); + wmWindow *newwin = WM_window_open(C, &rect); if (newwin == NULL) { BKE_report(op->reports, RPT_ERROR, "Failed to open window!"); goto finally; @@ -1381,9 +1370,9 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event) BKE_workspace_active_set(newwin->workspace_hook, workspace); /* allocs new screen and adds to newly created window, using window size */ - layout_new = ED_workspace_layout_add( + WorkSpaceLayout *layout_new = ED_workspace_layout_add( bmain, workspace, newwin, BKE_workspace_layout_name_get(layout_old)); - newsc = BKE_workspace_layout_screen_get(layout_new); + bScreen *newsc = BKE_workspace_layout_screen_get(layout_new); WM_window_set_active_layout(newwin, workspace, layout_new); /* copy area to new screen */ @@ -1475,10 +1464,6 @@ static void area_move_set_limits(wmWindow *win, int *smaller, bool *use_bigger_smaller_snap) { - rcti window_rect; - int areaminy = ED_area_headersize(); - int areamin; - /* we check all areas and test for free space with MINSIZE */ *bigger = *smaller = 100000; @@ -1523,12 +1508,12 @@ static void area_move_set_limits(wmWindow *win, } } + rcti window_rect; WM_window_rect_calc(win, &window_rect); LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) { if (dir == 'h') { - int y1; - areamin = areaminy; + int areamin = ED_area_headersize(); if (area->v1->vec.y > window_rect.ymin) { areamin += U.pixelsize; @@ -1537,7 +1522,7 @@ static void area_move_set_limits(wmWindow *win, areamin += U.pixelsize; } - y1 = screen_geom_area_height(area) - areamin; + int y1 = screen_geom_area_height(area) - areamin; /* if top or down edge selected, test height */ if (area->v1->editflag && area->v4->editflag) { @@ -1548,8 +1533,7 @@ static void area_move_set_limits(wmWindow *win, } } else { - int x1; - areamin = AREAMINX; + int areamin = AREAMINX; if (area->v1->vec.x > window_rect.xmin) { areamin += U.pixelsize; @@ -1558,7 +1542,7 @@ static void area_move_set_limits(wmWindow *win, areamin += U.pixelsize; } - x1 = screen_geom_area_width(area) - areamin; + int x1 = screen_geom_area_width(area) - areamin; /* if left or right edge selected, test width */ if (area->v1->editflag && area->v2->editflag) { @@ -1577,21 +1561,18 @@ static bool area_move_init(bContext *C, wmOperator *op) { bScreen *screen = CTX_wm_screen(C); wmWindow *win = CTX_wm_window(C); - ScrEdge *actedge; - sAreaMoveData *md; - int x, y; /* required properties */ - x = RNA_int_get(op->ptr, "x"); - y = RNA_int_get(op->ptr, "y"); + int x = RNA_int_get(op->ptr, "x"); + int y = RNA_int_get(op->ptr, "y"); /* setup */ - actedge = screen_geom_find_active_scredge(win, screen, x, y); + ScrEdge *actedge = screen_geom_find_active_scredge(win, screen, x, y); if (actedge == NULL) { return false; } - md = MEM_callocN(sizeof(sAreaMoveData), "sAreaMoveData"); + sAreaMoveData *md = MEM_callocN(sizeof(sAreaMoveData), "sAreaMoveData"); op->customdata = md; md->dir = screen_geom_edge_is_horizontal(actedge) ? 'h' : 'v'; @@ -1850,15 +1831,14 @@ static void area_move_cancel(bContext *C, wmOperator *op) static int area_move_modal(bContext *C, wmOperator *op, const wmEvent *event) { sAreaMoveData *md = op->customdata; - int delta, x, y; /* execute the events */ switch (event->type) { case MOUSEMOVE: { - x = RNA_int_get(op->ptr, "x"); - y = RNA_int_get(op->ptr, "y"); + int x = RNA_int_get(op->ptr, "x"); + int y = RNA_int_get(op->ptr, "y"); - delta = (md->dir == 'v') ? event->x - x : event->y - y; + int delta = (md->dir == 'v') ? event->x - x : event->y - y; RNA_int_set(op->ptr, "delta", delta); area_move_apply(C, op); @@ -1986,10 +1966,8 @@ static void area_split_draw_cb(const struct wmWindow *UNUSED(win), void *userdat /* generic init, menu case, doesn't need active area */ static bool area_split_menu_init(bContext *C, wmOperator *op) { - sAreaSplitData *sd; - /* custom data */ - sd = (sAreaSplitData *)MEM_callocN(sizeof(sAreaSplitData), "op_area_split"); + sAreaSplitData *sd = (sAreaSplitData *)MEM_callocN(sizeof(sAreaSplitData), "op_area_split"); op->customdata = sd; sd->sarea = CTX_wm_area(C); @@ -2001,9 +1979,6 @@ static bool area_split_menu_init(bContext *C, wmOperator *op) static bool area_split_init(bContext *C, wmOperator *op) { ScrArea *area = CTX_wm_area(C); - sAreaSplitData *sd; - int areaminy = ED_area_headersize(); - int dir; /* required context */ if (area == NULL) { @@ -2011,18 +1986,18 @@ static bool area_split_init(bContext *C, wmOperator *op) } /* required properties */ - dir = RNA_enum_get(op->ptr, "direction"); + int dir = RNA_enum_get(op->ptr, "direction"); /* minimal size */ if (dir == 'v' && area->winx < 2 * AREAMINX) { return false; } - if (dir == 'h' && area->winy < 2 * areaminy) { + if (dir == 'h' && area->winy < 2 * ED_area_headersize()) { return false; } /* custom data */ - sd = (sAreaSplitData *)MEM_callocN(sizeof(sAreaSplitData), "op_area_split"); + sAreaSplitData *sd = (sAreaSplitData *)MEM_callocN(sizeof(sAreaSplitData), "op_area_split"); op->customdata = sd; sd->sarea = area; @@ -2073,44 +2048,42 @@ static bool area_split_apply(bContext *C, wmOperator *op) const wmWindow *win = CTX_wm_window(C); bScreen *screen = CTX_wm_screen(C); sAreaSplitData *sd = (sAreaSplitData *)op->customdata; - float fac; - int dir; - fac = RNA_float_get(op->ptr, "factor"); - dir = RNA_enum_get(op->ptr, "direction"); + float fac = RNA_float_get(op->ptr, "factor"); + int dir = RNA_enum_get(op->ptr, "direction"); sd->narea = area_split(win, screen, sd->sarea, dir, fac, 0); /* 0 = no merge */ - if (sd->narea) { - sd->nedge = area_findsharededge(screen, sd->sarea, sd->narea); + if (sd->narea == NULL) { + return false; + } - /* select newly created edge, prepare for moving edge */ - ED_screen_verts_iter(win, screen, sv) - { - sv->editflag = 0; - } + sd->nedge = area_findsharededge(screen, sd->sarea, sd->narea); - sd->nedge->v1->editflag = 1; - sd->nedge->v2->editflag = 1; + /* select newly created edge, prepare for moving edge */ + ED_screen_verts_iter(win, screen, sv) + { + sv->editflag = 0; + } - if (dir == 'h') { - sd->origval = sd->nedge->v1->vec.y; - } - else { - sd->origval = sd->nedge->v1->vec.x; - } + sd->nedge->v1->editflag = 1; + sd->nedge->v2->editflag = 1; - ED_area_tag_redraw(sd->sarea); - ED_area_tag_redraw(sd->narea); + if (dir == 'h') { + sd->origval = sd->nedge->v1->vec.y; + } + else { + sd->origval = sd->nedge->v1->vec.x; + } - WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL); - /* Update preview thumbnail */ - BKE_icon_changed(screen->id.icon_id); + ED_area_tag_redraw(sd->sarea); + ED_area_tag_redraw(sd->narea); - return true; - } + WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL); + /* Update preview thumbnail */ + BKE_icon_changed(screen->id.icon_id); - return false; + return true; } static void area_split_exit(bContext *C, wmOperator *op) @@ -2154,8 +2127,6 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event) { wmWindow *win = CTX_wm_window(C); bScreen *screen = CTX_wm_screen(C); - sAreaSplitData *sd; - int dir; /* no full window splitting allowed */ BLI_assert(screen->state == SCREENNORMAL); @@ -2164,6 +2135,7 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event) PropertyRNA *prop_factor = RNA_struct_find_property(op->ptr, "factor"); PropertyRNA *prop_cursor = RNA_struct_find_property(op->ptr, "cursor"); + int dir; if (event->type == EVT_ACTIONZONE_AREA) { sActionzoneData *sad = event->customdata; @@ -2233,8 +2205,6 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event) } } else { - ScrEdge *actedge; - rcti window_rect; int event_co[2]; /* retrieve initial mouse coord, so we can find the active edge */ @@ -2245,9 +2215,10 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event) copy_v2_v2_int(event_co, &event->x); } + rcti window_rect; WM_window_rect_calc(win, &window_rect); - actedge = screen_geom_area_map_find_active_scredge( + ScrEdge *actedge = screen_geom_area_map_find_active_scredge( AREAMAP_FROM_SCREEN(screen), &window_rect, event_co[0], event_co[1]); if (actedge == NULL) { return OPERATOR_CANCELLED; @@ -2263,10 +2234,9 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event) } } - sd = (sAreaSplitData *)op->customdata; + sAreaSplitData *sd = (sAreaSplitData *)op->customdata; if (event->type == EVT_ACTIONZONE_AREA) { - /* do the split */ if (area_split_apply(C, op)) { area_move_set_limits(win, screen, dir, &sd->bigger, &sd->smaller, NULL); @@ -2294,7 +2264,6 @@ static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event) /* function to be called outside UI context, or for redo */ static int area_split_exec(bContext *C, wmOperator *op) { - if (!area_split_init(C, op)) { return OPERATOR_CANCELLED; } @@ -2565,14 +2534,13 @@ static void region_scale_exit(wmOperator *op) static int region_scale_invoke(bContext *C, wmOperator *op, const wmEvent *event) { sActionzoneData *sad = event->customdata; - AZone *az; if (event->type != EVT_ACTIONZONE_REGION) { BKE_report(op->reports, RPT_ERROR, "Can only scale region size from an action zone"); return OPERATOR_CANCELLED; } - az = sad->az; + AZone *az = sad->az; if (az->region) { RegionMoveData *rmd = MEM_callocN(sizeof(RegionMoveData), "RegionMoveData"); @@ -2853,9 +2821,8 @@ static void areas_do_frame_follow(bContext *C, bool middle) static int frame_offset_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); - int delta; - delta = RNA_int_get(op->ptr, "delta"); + int delta = RNA_int_get(op->ptr, "delta"); CFRA += delta; FRAMENUMBER_MIN_CLAMP(CFRA); @@ -2960,9 +2927,6 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op) Scene *scene = CTX_data_scene(C); Object *ob = CTX_data_active_object(C); bDopeSheet ads = {NULL}; - DLRBT_Tree keys; - ActKeyColumn *ak; - float cfra; const bool next = RNA_boolean_get(op->ptr, "next"); bool done = false; @@ -2971,9 +2935,10 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - cfra = (float)(CFRA); + float cfra = (float)(CFRA); /* init binarytree-list for getting keyframes */ + DLRBT_Tree keys; BLI_dlrbTree_init(&keys); /* seed up dummy dopesheet context with flags to perform necessary filtering */ @@ -3003,6 +2968,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op) } /* find matching keyframe in the right direction */ + ActKeyColumn *ak; if (next) { ak = (ActKeyColumn *)BLI_dlrbTree_search_next(&keys, compare_ak_cfraPtr, &cfra); } @@ -3355,7 +3321,6 @@ static int area_join_exec(bContext *C, wmOperator *op) /* interaction callback */ static int area_join_invoke(bContext *C, wmOperator *op, const wmEvent *event) { - if (event->type == EVT_ACTIONZONE_AREA) { sActionzoneData *sad = event->customdata; @@ -3395,14 +3360,13 @@ static int area_join_modal(bContext *C, wmOperator *op, const wmEvent *event) { bScreen *screen = CTX_wm_screen(C); wmWindow *win = CTX_wm_window(C); - sAreaJoinData *jd; if (op->customdata == NULL) { if (!area_join_init(C, op, NULL, NULL)) { return OPERATOR_CANCELLED; } } - jd = (sAreaJoinData *)op->customdata; + sAreaJoinData *jd = (sAreaJoinData *)op->customdata; /* execute the events */ switch (event->type) { @@ -3524,20 +3488,16 @@ static void SCREEN_OT_area_join(wmOperatorType *ot) static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent *event) { - uiPopupMenu *pup; - uiLayout *layout; - PointerRNA ptr; - ScrArea *sa1, *sa2; - if (screen_area_edge_from_cursor(C, &event->x, &sa1, &sa2) == NULL) { return OPERATOR_CANCELLED; } - pup = UI_popup_menu_begin(C, WM_operatortype_name(op->type, op->ptr), ICON_NONE); - layout = UI_popup_menu_layout(pup); + uiPopupMenu *pup = UI_popup_menu_begin(C, WM_operatortype_name(op->type, op->ptr), ICON_NONE); + uiLayout *layout = UI_popup_menu_layout(pup); /* Vertical Split */ + PointerRNA ptr; uiItemFullO(layout, "SCREEN_OT_area_split", IFACE_("Vertical Split"), @@ -3712,19 +3672,17 @@ static void SCREEN_OT_repeat_last(wmOperatorType *ot) static int repeat_history_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event)) { wmWindowManager *wm = CTX_wm_manager(C); - wmOperator *lastop; - uiPopupMenu *pup; - uiLayout *layout; - int items, i; - items = BLI_listbase_count(&wm->operators); + int items = BLI_listbase_count(&wm->operators); if (items == 0) { return OPERATOR_CANCELLED; } - pup = UI_popup_menu_begin(C, WM_operatortype_name(op->type, op->ptr), ICON_NONE); - layout = UI_popup_menu_layout(pup); + uiPopupMenu *pup = UI_popup_menu_begin(C, WM_operatortype_name(op->type, op->ptr), ICON_NONE); + uiLayout *layout = UI_popup_menu_layout(pup); + wmOperator *lastop; + int i; for (i = items - 1, lastop = wm->operators.last; lastop; lastop = lastop->prev, i--) { if ((lastop->type->flag & OPTYPE_REGISTER) && WM_operator_repeat_check(C, lastop)) { uiItemIntO(layout, @@ -3850,7 +3808,6 @@ static int region_quadview_exec(bContext *C, wmOperator *op) else if (region->alignment == RGN_ALIGN_QSPLIT) { /* Exit quad-view */ ScrArea *area = CTX_wm_area(C); - ARegion *arn; /* keep current region */ region->alignment = 0; @@ -3887,10 +3844,9 @@ static int region_quadview_exec(bContext *C, wmOperator *op) } } - for (region = area->regionbase.first; region; region = arn) { - arn = region->next; - if (region->alignment == RGN_ALIGN_QSPLIT) { - ED_region_remove(C, area, region); + LISTBASE_FOREACH_MUTABLE (ARegion *, region_iter, &area->regionbase) { + if (region_iter->alignment == RGN_ALIGN_QSPLIT) { + ED_region_remove(C, area, region_iter); } } ED_area_tag_redraw(area); @@ -3902,14 +3858,12 @@ static int region_quadview_exec(bContext *C, wmOperator *op) else { /* Enter quad-view */ ScrArea *area = CTX_wm_area(C); - ARegion *newar; - int count; region->alignment = RGN_ALIGN_QSPLIT; - for (count = 0; count < 3; count++) { - newar = BKE_area_region_copy(area->type, region); - BLI_addtail(&area->regionbase, newar); + for (int count = 0; count < 3; count++) { + ARegion *new_region = BKE_area_region_copy(area->type, region); + BLI_addtail(&area->regionbase, new_region); } /* lock views and set them */ @@ -3981,8 +3935,8 @@ static void SCREEN_OT_region_quadview(wmOperatorType *ot) static int region_toggle_exec(bContext *C, wmOperator *op) { PropertyRNA *prop = RNA_struct_find_property(op->ptr, "region_type"); - ARegion *region; + ARegion *region; if (RNA_property_is_set(op->ptr, prop)) { region = BKE_area_find_region_type(CTX_wm_area(C), RNA_property_enum_get(op->ptr, prop)); } @@ -4235,32 +4189,30 @@ static int screen_context_menu_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event)) { - uiPopupMenu *pup; - uiLayout *layout; const ScrArea *area = CTX_wm_area(C); const ARegion *region = CTX_wm_region(C); if (area && area->spacetype == SPACE_STATUSBAR) { - pup = UI_popup_menu_begin(C, IFACE_("Status Bar"), ICON_NONE); - layout = UI_popup_menu_layout(pup); + uiPopupMenu *pup = UI_popup_menu_begin(C, IFACE_("Status Bar"), ICON_NONE); + uiLayout *layout = UI_popup_menu_layout(pup); ed_screens_statusbar_menu_create(layout, NULL); UI_popup_menu_end(C, pup); } else if (ELEM(region->regiontype, RGN_TYPE_HEADER, RGN_TYPE_TOOL_HEADER)) { - pup = UI_popup_menu_begin(C, IFACE_("Header"), ICON_NONE); - layout = UI_popup_menu_layout(pup); + uiPopupMenu *pup = UI_popup_menu_begin(C, IFACE_("Header"), ICON_NONE); + uiLayout *layout = UI_popup_menu_layout(pup); ED_screens_header_tools_menu_create(C, layout, NULL); UI_popup_menu_end(C, pup); } else if (region->regiontype == RGN_TYPE_FOOTER) { - pup = UI_popup_menu_begin(C, IFACE_("Footer"), ICON_NONE); - layout = UI_popup_menu_layout(pup); + uiPopupMenu *pup = UI_popup_menu_begin(C, IFACE_("Footer"), ICON_NONE); + uiLayout *layout = UI_popup_menu_layout(pup); ED_screens_footer_tools_menu_create(C, layout, NULL); UI_popup_menu_end(C, pup); } else if (region->regiontype == RGN_TYPE_NAV_BAR) { - pup = UI_popup_menu_begin(C, IFACE_("Navigation Bar"), ICON_NONE); - layout = UI_popup_menu_layout(pup); + uiPopupMenu *pup = UI_popup_menu_begin(C, IFACE_("Navigation Bar"), ICON_NONE); + uiLayout *layout = UI_popup_menu_layout(pup); ED_screens_navigation_bar_tools_menu_create(C, layout, NULL); UI_popup_menu_end(C, pup); } @@ -4953,10 +4905,6 @@ static int drivers_editor_show_exec(bContext *C, wmOperator *op) wmWindow *win_cur = CTX_wm_window(C); /* Use eventstate, not event from _invoke, so this can be called through exec(). */ const wmEvent *event = win_cur->eventstate; - PointerRNA ptr = {NULL}; - PropertyRNA *prop = NULL; - int index = -1; - uiBut *but = NULL; int sizex = 900 * UI_DPI_FAC; int sizey = 580 * UI_DPI_FAC; @@ -4965,7 +4913,10 @@ static int drivers_editor_show_exec(bContext *C, wmOperator *op) * - Need to grab it first, or else this info disappears * after we've created the window */ - but = UI_context_active_but_prop_get(C, &ptr, &prop, &index); + int index; + PointerRNA ptr; + PropertyRNA *prop; + uiBut *but = UI_context_active_but_prop_get(C, &ptr, &prop, &index); /* changes context! */ if (WM_window_open_temp(C, @@ -4980,10 +4931,10 @@ static int drivers_editor_show_exec(bContext *C, wmOperator *op) /* activate driver F-Curve for the property under the cursor */ if (but) { - FCurve *fcu; bool driven, special; + FCurve *fcu = BKE_fcurve_find_by_rna_context_ui( + C, &ptr, prop, index, NULL, NULL, &driven, &special); - fcu = BKE_fcurve_find_by_rna_context_ui(C, &ptr, prop, index, NULL, NULL, &driven, &special); if (fcu) { /* Isolate this F-Curve... */ bAnimContext ac; @@ -5072,9 +5023,9 @@ static int screen_new_exec(bContext *C, wmOperator *UNUSED(op)) wmWindow *win = CTX_wm_window(C); WorkSpace *workspace = BKE_workspace_active_get(win->workspace_hook); WorkSpaceLayout *layout_old = BKE_workspace_active_layout_get(win->workspace_hook); - WorkSpaceLayout *layout_new; - layout_new = ED_workspace_layout_duplicate(bmain, workspace, layout_old, win); + WorkSpaceLayout *layout_new = ED_workspace_layout_duplicate(bmain, workspace, layout_old, win); + WM_event_add_notifier(C, NC_SCREEN | ND_LAYOUTBROWSE, layout_new); return OPERATOR_FINISHED; @@ -5198,14 +5149,13 @@ void ED_region_visibility_change_update_animated(bContext *C, ScrArea *area, ARe { wmWindowManager *wm = CTX_wm_manager(C); wmWindow *win = CTX_wm_window(C); - RegionAlphaInfo *rgi; /* end running timer */ if (region->regiontimer) { region_blend_end(C, region, true); } - rgi = MEM_callocN(sizeof(RegionAlphaInfo), "RegionAlphaInfo"); + RegionAlphaInfo *rgi = MEM_callocN(sizeof(RegionAlphaInfo), "RegionAlphaInfo"); rgi->hidden = region->flag & RGN_FLAG_HIDDEN; rgi->area = area; @@ -5234,7 +5184,6 @@ void ED_region_visibility_change_update_animated(bContext *C, ScrArea *area, ARe /* timer runs in win->handlers, so it cannot use context to find area/region */ static int region_blend_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event) { - RegionAlphaInfo *rgi; wmTimer *timer = event->customdata; /* event type is TIMERREGION, but we better check */ @@ -5242,7 +5191,7 @@ static int region_blend_invoke(bContext *C, wmOperator *UNUSED(op), const wmEven return OPERATOR_PASS_THROUGH; } - rgi = timer->customdata; + RegionAlphaInfo *rgi = timer->customdata; /* always send redraws */ ED_region_tag_redraw(rgi->region); @@ -5577,10 +5526,9 @@ static void keymap_modal_set(wmKeyConfig *keyconf) {KM_MODAL_SNAP_OFF, "SNAP_OFF", 0, "Snap off", ""}, {0, NULL, 0, NULL, NULL}, }; - wmKeyMap *keymap; /* Standard Modal keymap ------------------------------------------------ */ - keymap = WM_modalkeymap_ensure(keyconf, "Standard Modal Map", modal_items); + wmKeyMap *keymap = WM_modalkeymap_ensure(keyconf, "Standard Modal Map", modal_items); WM_modalkeymap_assign(keymap, "SCREEN_OT_area_move"); } @@ -5607,8 +5555,6 @@ static void blend_file_drop_copy(wmDrag *drag, wmDropBox *drop) /* called in spacetypes.c */ void ED_keymap_screen(wmKeyConfig *keyconf) { - ListBase *lb; - /* Screen Editing ------------------------------------------------ */ WM_keymap_ensure(keyconf, "Screen Editing", 0, 0); @@ -5623,7 +5569,7 @@ void ED_keymap_screen(wmKeyConfig *keyconf) WM_keymap_ensure(keyconf, "Frames", 0, 0); /* dropbox for entire window */ - lb = WM_dropboxmap_find("Window", 0, 0); + ListBase *lb = WM_dropboxmap_find("Window", 0, 0); WM_dropbox_add(lb, "WM_OT_drop_blend_file", blend_file_drop_poll, blend_file_drop_copy); WM_dropbox_add(lb, "UI_OT_drop_color", UI_drop_color_poll, UI_drop_color_copy); |