Partial fix to T66126: Non-Active Grease Pencil object stuck in drawmode
authorDalai Felinto <dfelinto@gmail.com>
Tue, 25 Jun 2019 21:00:33 +0000 (18:00 -0300)
committerDalai Felinto <dfelinto@gmail.com>
Tue, 25 Jun 2019 21:03:18 +0000 (18:03 -0300)
This only handles the issue after file load.

To make it an all-around solution we need to deal with
this in ed_object_select_pick, do_outliner_item_activate_tree_element(),
...

source/blender/editors/util/ed_util.c

index e751c7263cbb66c5617b76c604b4d38e0eeba8ba..1ee8ff6966c94163a4dfffaf002c9e26106b9f5f 100644 (file)
@@ -126,8 +126,12 @@ void ED_editors_init(bContext *C)
       continue;
     }
     else if (ob->type == OB_GPENCIL) {
-      /* For multi-edit mode we may already have mode data.
-       * (grease pencil does not need it) */
+      /* For multi-edit mode we may already have mode data (grease pencil does not need it).
+       * However we may have a non-active object stuck in a greasepencil edit mode. */
+      if (ob != obact) {
+        ob->mode = OB_MODE_OBJECT;
+        DEG_id_tag_update(&ob->id, ID_RECALC_COPY_ON_WRITE);
+      }
       continue;
     }