Fix T62734: Crash when annotations are rendered from the VSE .view menu.
authorAntonioya <blendergit@gmail.com>
Tue, 19 Mar 2019 09:48:24 +0000 (10:48 +0100)
committerAntonioya <blendergit@gmail.com>
Tue, 19 Mar 2019 10:03:55 +0000 (11:03 +0100)
The render was using the old grease pencil code and not the new annotation code for render.

source/blender/editors/gpencil/annotate_draw.c
source/blender/editors/gpencil/drawgpencil.c
source/blender/editors/include/ED_gpencil.h
source/blender/editors/render/render_opengl.c

index 3d70a7f6843812bb8ab9419423d587256cb2bf6a..111a24da528af4b7e6524a43f81ff1afde792309 100644 (file)
@@ -1133,4 +1133,13 @@ void ED_gpencil_draw_view3d_annotations(
        gp_draw_data_all(scene, gpd, offsx, offsy, winx, winy, CFRA, dflag, v3d->spacetype);
 }
 
+void ED_gpencil_draw_ex(
+       Scene *scene, bGPdata *gpd,
+       int winx, int winy, const int cfra, const char spacetype)
+{
+       int dflag = GP_DRAWDATA_NOSTATUS | GP_DRAWDATA_ONLYV2D;
+
+       gp_draw_data_all(scene, gpd, 0, 0, winx, winy, cfra, dflag, spacetype);
+}
+
 /* ************************************************** */
index d25ff6b4c0716c8b05b6b7f02d9920b60c6302df..b9b50ac207d5eacfe17369cfdae5fddb52b0ae1c 100644 (file)
@@ -1751,12 +1751,3 @@ void ED_gpencil_draw_view3d_object(wmWindowManager *wm, Scene *scene, Depsgraph
                gp_draw_data(rv3d, brush, 1.0f, ob, gpd, offsx, offsy, winx, winy, CFRA, dflag);
        }
 }
-
-void ED_gpencil_draw_ex(
-       ViewLayer *view_layer, RegionView3D *rv3d, Scene *scene,
-       bGPdata *gpd, int winx, int winy, const int cfra, const char spacetype)
-{
-       int dflag = GP_DRAWDATA_NOSTATUS | GP_DRAWDATA_ONLYV2D;
-
-       gp_draw_data_all(view_layer, rv3d, scene, gpd, 0, 0, winx, winy, cfra, dflag, spacetype);
-}
index 5d9439305226c00f9c77f19a51abbc5c409bd112..12677769527792d6a70087df3103ced1ab160d7b 100644 (file)
@@ -158,7 +158,7 @@ void ED_gpencil_draw_view3d_object(
         struct ARegion *ar,
         bool only3d);
 void ED_gpencil_draw_ex(
-        struct ViewLayer *view_layer, struct RegionView3D *rv3d, struct Scene *scene,
+        struct Scene *scene,
         struct bGPdata *gpd, int winx, int winy,
         const int cfra, const char spacetype);
 
index 0e0292c8d7110603a05aa356f2056e860dd09691..7fb9dbdf3a6bd72ee8ac3668a120ac22b5ae9e56 100644 (file)
@@ -265,7 +265,6 @@ static void screen_opengl_views_setup(OGLRender *oglrender)
 static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, RenderResult *rr)
 {
        Depsgraph *depsgraph = CTX_data_depsgraph(C);
-       ViewLayer *view_layer = CTX_data_view_layer(C);
        Scene *scene = oglrender->scene;
        ARegion *ar = oglrender->ar;
        View3D *v3d = oglrender->v3d;
@@ -327,7 +326,7 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R
 
                        G.f |= G_FLAG_RENDER_VIEWPORT;
                        ED_gpencil_draw_ex(
-                               view_layer, rv3d, scene, gpd, sizex, sizey, scene->r.cfra, SPACE_SEQ);
+                               scene, gpd, sizex, sizey, scene->r.cfra, SPACE_SEQ);
                        G.f &= ~G_FLAG_RENDER_VIEWPORT;
 
                        gp_rect = MEM_mallocN(sizex * sizey * sizeof(unsigned char) * 4, "offscreen rect");