Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/sculpt_paint/sculpt.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
| Show First 20 Lines • Show All 7,965 Lines • ▼ Show 20 Lines | static void sculpt_flush_update_done(const bContext *C, Object *ob, SculptUpdateType update_flags) | ||||
| /* Always needed for linked duplicates. */ | /* Always needed for linked duplicates. */ | ||||
| bool need_tag = (ID_REAL_USERS(&mesh->id) > 1); | bool need_tag = (ID_REAL_USERS(&mesh->id) > 1); | ||||
| if (rv3d) { | if (rv3d) { | ||||
| rv3d->rflag &= ~RV3D_PAINTING; | rv3d->rflag &= ~RV3D_PAINTING; | ||||
| } | } | ||||
| for (wmWindow *win = wm->windows.first; win; win = win->next) { | LISTBASE_FOREACH (wmWindow *, win, &wm->windows) { | ||||
| bScreen *screen = WM_window_get_active_screen(win); | bScreen *screen = WM_window_get_active_screen(win); | ||||
| for (ScrArea *area = screen->areabase.first; area; area = area->next) { | LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) { | ||||
| SpaceLink *sl = area->spacedata.first; | SpaceLink *sl = area->spacedata.first; | ||||
| if (sl->spacetype == SPACE_VIEW3D) { | if (sl->spacetype == SPACE_VIEW3D) { | ||||
| View3D *v3d = (View3D *)sl; | View3D *v3d = (View3D *)sl; | ||||
| if (v3d != current_v3d) { | if (v3d != current_v3d) { | ||||
| need_tag |= !BKE_sculptsession_use_pbvh_draw(ob, v3d); | need_tag |= !BKE_sculptsession_use_pbvh_draw(ob, v3d); | ||||
| } | } | ||||
| /* Tag all 3D viewports for redraw now that we are done. Others | /* Tag all 3D viewports for redraw now that we are done. Others | ||||
| * viewports did not get a full redraw, and anti-aliasing for the | * viewports did not get a full redraw, and anti-aliasing for the | ||||
| * current viewport was deactivated. */ | * current viewport was deactivated. */ | ||||
| for (ARegion *region = area->regionbase.first; region; region = region->next) { | LISTBASE_FOREACH (ARegion *, region, &area->regionbase) { | ||||
| if (region->regiontype == RGN_TYPE_WINDOW) { | if (region->regiontype == RGN_TYPE_WINDOW) { | ||||
| ED_region_tag_redraw(region); | ED_region_tag_redraw(region); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 4,035 Lines • Show Last 20 Lines | |||||