Commit: 1a79c6d36081268a0f0b9f7650471b09372df121
Author: Bastien Montagne
Date:   Wed Jun 13 11:02:48 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1a79c6d36081268a0f0b9f7650471b09372df121

Merge branch 'master' into blender2.8

Conflicts:
        source/blender/blenkernel/intern/blendfile.c
        source/blender/blenkernel/intern/node.c
        source/blender/blenkernel/intern/particle.c

===================================================================



===================================================================

diff --cc source/blender/blenkernel/BKE_particle.h
index 734eb8cfa09,cba92eabb0b..0a5bac267ac
--- a/source/blender/blenkernel/BKE_particle.h
+++ b/source/blender/blenkernel/BKE_particle.h
@@@ -328,12 -323,13 +328,13 @@@ void copy_particle_key(struct ParticleK
  CustomDataMask psys_emitter_customdata_mask(struct ParticleSystem *psys);
  void psys_particle_on_emitter(struct ParticleSystemModifierData *psmd, int 
distr, int index, int index_dmcache,
                                float fuv[4], float foffset, float vec[3], 
float nor[3],
 -                              float utan[3], float vtan[3], float orco[3], 
float ornor[3]);
 +                              float utan[3], float vtan[3], float orco[3]);
  struct ParticleSystemModifierData *psys_get_modifier(struct Object *ob, 
struct ParticleSystem *psys);
  
- struct ModifierData *object_add_particle_system(struct Scene *scene, struct 
Object *ob, const char *name);
- void object_remove_particle_system(struct Scene *scene, struct Object *ob);
- struct ParticleSettings *BKE_particlesettings_add(struct Main *main, const 
char *name);
+ struct ModifierData *object_add_particle_system(
+         struct Main *bmain, struct Scene *scene, struct Object *ob, const 
char *name);
+ void object_remove_particle_system(struct Main *bmain, struct Scene *scene, 
struct Object *ob);
+ struct ParticleSettings *BKE_particlesettings_add(struct Main *bmain, const 
char *name);
  void BKE_particlesettings_copy_data(
          struct Main *bmain, struct ParticleSettings *part_dst, const struct 
ParticleSettings *part_src,
          const int flag);
diff --cc source/blender/blenkernel/BKE_pointcache.h
index 89f1aa5eadd,cb2438ec1f2..501c9964aa3
--- a/source/blender/blenkernel/BKE_pointcache.h
+++ b/source/blender/blenkernel/BKE_pointcache.h
@@@ -185,10 -184,8 +185,10 @@@ typedef struct PTCacheID 
  } PTCacheID;
  
  typedef struct PTCacheBaker {
-       struct Main *main;
+       struct Main *bmain;
        struct Scene *scene;
 +      struct ViewLayer *view_layer;
 +      struct Depsgraph *depsgraph;
        int bake;
        int render;
        int anim_init;
diff --cc source/blender/blenkernel/intern/blendfile.c
index 597c69408b5,aa5530704c6..27b5089b092
--- a/source/blender/blenkernel/intern/blendfile.c
+++ b/source/blender/blenkernel/intern/blendfile.c
@@@ -202,35 -190,32 +202,35 @@@ static void setup_app_data
                        /* keep the old (free'd) scene, let 
'blo_lib_link_screen_restore'
                         * replace it with 'curscene' if its needed */
                }
 -              else {
 -                      /* and we enforce curscene to be in current screen */
 -                      if (curscreen) {
 -                              /* can run in bgmode */
 -                              curscreen->scene = curscene;
 -                      }
 +              /* and we enforce curscene to be in current screen */
 +              else if (win) { /* can run in bgmode */
 +                      win->scene = curscene;
                }
  
-               /* BKE_blender_globals_clear will free G.main, here we can 
still restore pointers */
+               /* BKE_blender_globals_clear will free G_MAIN, here we can 
still restore pointers */
 -              blo_lib_link_screen_restore(bfd->main, curscreen, curscene);
 -              /* curscreen might not be set when loading without ui (see 
T44217) so only re-assign if available */
 -              if (curscreen) {
 -                      curscene = curscreen->scene;
 +              blo_lib_link_restore(bfd->main, CTX_wm_manager(C), curscene, 
cur_view_layer);
 +              if (win) {
 +                      curscene = win->scene;
                }
  
                if (track_undo_scene) {
                        wmWindowManager *wm = bfd->main->wm.first;
                        if (wm_scene_is_visible(wm, bfd->curscene) == false) {
                                curscene = bfd->curscene;
 -                              curscreen->scene = curscene;
 -                              BKE_screen_view3d_scene_sync(curscreen);
 +                              win->scene = curscene;
 +                              BKE_screen_view3d_scene_sync(curscreen, 
curscene);
                        }
                }
 +
 +              /* We need to tag this here because events may be handled 
immediately after.
 +               * only the current screen is important because we wont have to 
handle
 +               * events from multiple screens at once.*/
 +              {
 +                      BKE_screen_manipulator_tag_refresh(curscreen);
 +              }
        }
  
-       /* free G.main Main database */
+       /* free G_MAIN Main database */
  //    CTX_wm_manager_set(C, NULL);
        BKE_blender_globals_clear();
  
diff --cc source/blender/blenkernel/intern/ipo.c
index 82178096b46,611c1e3bafb..f3f690b92da
--- a/source/blender/blenkernel/intern/ipo.c
+++ b/source/blender/blenkernel/intern/ipo.c
@@@ -1750,9 -1765,26 +1750,9 @@@ void do_versions_ipos_to_animato(Main *
                        
                        /* IPO second... */
                        if (ob->ipo) {
-                               ipo_to_animdata(id, ob->ipo, NULL, NULL, NULL);
+                               ipo_to_animdata(bmain, id, ob->ipo, NULL, NULL, 
NULL);
                                id_us_min(&ob->ipo->id);
                                ob->ipo = NULL;
 -
 -                              {
 -                                      /* If we have any empty action 
actuators, assume they were
 -                                       * converted IPO Actuators using the 
object IPO */
 -                                      bActuator *act;
 -                                      bActionActuator *aa;
 -
 -                                      for (act = ob->actuators.first; act; 
act = act->next) {
 -                                              /* Any actuators set to ACT_IPO 
at this point are actually Action Actuators that
 -                                               * need this converted IPO to 
finish converting the actuator. */
 -                                              if (act->type == ACT_IPO) {
 -                                                      aa = (bActionActuator 
*)act->data;
 -                                                      aa->act = 
ob->adt->action;
 -                                                      act->type = ACT_ACTION;
 -                                              }
 -                                      }
 -                              }
                        }
                }
                
diff --cc source/blender/blenkernel/intern/particle.c
index 2bba32ff592,c064f2e5f71..127ef840027
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@@ -3015,8 -3186,8 +3015,8 @@@ ModifierData *object_add_particle_syste
        psys->flag = PSYS_CURRENT;
        psys->cfra = BKE_scene_frame_get_from_ctime(scene, CFRA + 1);
  
-       DEG_relations_tag_update(G.main);
 -      DAG_relations_tag_update(bmain);
 -      DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
++      DEG_relations_tag_update(bmain);
 +      DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
  
        return md;
  }
@@@ -3061,11 -3232,8 +3061,11 @@@ void object_remove_particle_system(Mai
        else
                ob->mode &= ~OB_MODE_PARTICLE_EDIT;
  
-       DEG_relations_tag_update(G.main);
 -      DAG_relations_tag_update(bmain);
 -      DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
++      DEG_relations_tag_update(bmain);
 +      DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
 +      
 +      /* Flush object mode. */
 +      DEG_id_tag_update(&ob->id, DEG_TAG_COPY_ON_WRITE);
  }
  
  static void default_particle_settings(ParticleSettings *part)
diff --cc source/blender/blenkernel/intern/pointcache.c
index 8d55a1d2690,8d550e09b25..10050e5e083
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@@ -3536,9 -3516,8 +3536,9 @@@ void BKE_ptcache_quick_cache_all(Main *
        PTCacheBaker baker;
  
        memset(&baker, 0, sizeof(baker));
-       baker.main = bmain;
+       baker.bmain = bmain;
        baker.scene = scene;
 +      baker.view_layer = view_layer;
        baker.bake = 0;
        baker.render = 0;
        baker.anim_init = 0;
@@@ -3562,10 -3541,8 +3562,10 @@@ static void ptcache_dt_to_str(char *str
  /* if bake is not given run simulations to current frame */
  void BKE_ptcache_bake(PTCacheBaker *baker)
  {
-       Main *bmain = baker->main;
+       Main *bmain = baker->bmain;
        Scene *scene = baker->scene;
 +      ViewLayer *view_layer = baker->view_layer;
 +      struct Depsgraph *depsgraph = baker->depsgraph;
        Scene *sce_iter; /* SETLOOPER macro only */
        Base *base;
        ListBase pidlist;
diff --cc source/blender/editors/physics/particle_object.c
index fbccdcfcdba,66c62d47340..8a9eb369e66
--- a/source/blender/editors/physics/particle_object.c
+++ b/source/blender/editors/physics/particle_object.c
@@@ -113,9 -109,9 +114,10 @@@ void OBJECT_OT_particle_system_add(wmOp
  
  static int particle_system_remove_exec(bContext *C, wmOperator *UNUSED(op))
  {
+       Main *bmain = CTX_data_main(C);
        Object *ob = ED_object_context(C);
        Scene *scene = CTX_data_scene(C);
 +      ViewLayer *view_layer = CTX_data_view_layer(C);
        int mode_orig;
  
        if (!scene || !ob)
diff --cc source/blender/editors/physics/physics_pointcache.c
index 45172774d55,fc2f7e40645..a66dbfc789d
--- a/source/blender/editors/physics/physics_pointcache.c
+++ b/source/blender/editors/physics/physics_pointcache.c
@@@ -164,10 -163,8 +164,10 @@@ static PTCacheBaker *ptcache_baker_crea
  {
        PTCacheBaker *baker = MEM_callocN(sizeof(PTCacheBaker), "PTCacheBaker");
  
-       baker->main = CTX_data_main(C);
+       baker->bmain = CTX_data_main(C);
        baker->scene = CTX_data_scene(C);
 +      baker->view_layer = CTX_data_view_layer(C);
 +      baker->depsgraph = CTX_data_depsgraph(C);
        baker->bake = RNA_boolean_get(op->ptr, "bake");
        baker->render = 0;
        baker->anim_init = 0;
diff --cc source/blender/editors/space_view3d/view3d_manipulator_ruler.c
index cd918695f60,00000000000..8178c2f5be9
mode 100644,000000..100644
--- a/source/blender/editors/space_view3d/view3d_manipulator_ruler.c
+++ b/source/blender/editors/space_view3d/view3d_manipulator_ruler.c
@@@ -1,1099 -1,0 +1,1100 @@@
 +/*
 + * ***** BEGIN GPL LICENSE BLOCK *****
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License
 + * as published by the Free Software Foundation; either version 2
 + * of the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software Foundation,
 + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 + *
 + * ***** END GPL LICENSE BLOCK *****
 + */
 +
 +/** \file blender/editors/space_view3d/view3d_manipulator_ruler.c
 + *  \ingroup spview3d
 + */
 +
 +#include "BLI_listbase.h"
 +#include "BLI_string.h"
 +#include "BLI_rect.h"
 +#include "BLI_math.h"
 +#include "BLI_utildefines.h"
 +
 +#include "BLT_translation.h"
 +
 +#include "BKE_context.h"
 +#include "BKE_gpencil.h"
 +#include "BKE_main.h"
 +
 +#include "BKE_object.h"
 +#include "BKE_unit.h"
 +
 +#include "DNA_object_types.h"
 +#include "DNA_gpencil_types.h"
 +#include "DNA_view3d_types.h"
 +
 +#include "BIF_gl.h"
 +
 +#include "ED_screen.h"
 +#include "ED_transform_snap_object_context.h"
 +#include "ED_view3d.h"
 +
 +#include "UI

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to