Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Sun, 3 Jun 2018 09:24:57 +0000 (11:24 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 3 Jun 2018 09:24:57 +0000 (11:24 +0200)
build_files/build_environment/cmake/openal.cmake
build_files/build_environment/cmake/options.cmake
build_files/build_environment/patches/openal.diff [new file with mode: 0644]
build_files/build_environment/patches/osl.diff
build_files/build_environment/windows/build_deps.cmd
source/blender/blenloader/intern/versioning_legacy.c
source/blender/editors/space_view3d/space_view3d.c
source/blender/makesdna/DNA_action_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_view3d_types.h

index 3331361bfbc97ae1b0d330c519a2c352f4623b1c..2af530069a5b05555ef319f82947b8d889d050cb 100644 (file)
@@ -39,5 +39,6 @@ if(BUILD_MODE STREQUAL Release)
                PREFIX ${BUILD_DIR}/openal
                CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
                INSTALL_DIR ${LIBDIR}/openal
+               PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff 
        )
 endif()
index 2dcf653db43fba2108020f9a18898fdd2e6a1a42..2a89bd726c170acde25b4dd87ba59c0a4399a7f3 100644 (file)
@@ -56,24 +56,27 @@ if(WIN32)
        # For OIIO and OSL
        set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
 
-       # TODO FIXME highly MSVC specific
+       if(MSVC_VERSION GREATER 1909)
+               set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings. 
+       endif()
+       
        if(WITH_OPTIMIZED_DEBUG)
-               set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+               set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
        else()
-               set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+               set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
        endif()
-       set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
-       set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
-       set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+       set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+       set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+       set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
 
        if(WITH_OPTIMIZED_DEBUG)
-               set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+               set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
        else()
-               set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+               set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd  ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
        endif()
-       set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG  /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
-       set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
-       set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+       set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG  /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+       set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
+       set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
 
        set(PLATFORM_FLAGS)
        set(PLATFORM_CXX_FLAGS)
diff --git a/build_files/build_environment/patches/openal.diff b/build_files/build_environment/patches/openal.diff
new file mode 100644 (file)
index 0000000..2c9862b
--- /dev/null
@@ -0,0 +1,13 @@
+diff -Naur external_openal_original/CMakeLists.txt external_openal/CMakeLists.txt
+--- external_openal_original/CMakeLists.txt    2016-01-24 20:12:39 -0700
++++ external_openal/CMakeLists.txt     2018-06-02 12:16:52 -0600
+@@ -885,7 +885,8 @@
+ OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
+ IF(HAVE_WINDOWS_H)
+     # Check MMSystem backend
+-    CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
++    set(CMAKE_REQUIRED_FLAGS "-D_WIN32_WINNT=0x0502")
++    CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
+     IF(HAVE_MMSYSTEM_H)
+         CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
+         IF(HAVE_LIBWINMM)
index 960a25063749ec2d1738b3c31420652d1db60cc1..ccf34d99699205736e2752aceb45176c47efaf21 100644 (file)
@@ -10,8 +10,8 @@ diff -Naur osl/src/external_osl/src/cmake/flexbison.cmake osl_bak/src/external_o
            MAIN_DEPENDENCY ${flexsrc}
            DEPENDS ${${compiler_headers}}
            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
---- a/src/include/OSL/oslconfig.h      2016-10-31 16:48:19 -0600
-+++ b/src/include/OSL/oslconfig.h      2018-05-27 11:18:08 -0600
+--- osl/src/external_osl/src/include/OSL/oslconfig.h   2016-10-31 16:48:19 -0600
++++ osl/src/external_osl/src/include/OSL/oslconfig.h   2018-05-27 11:18:08 -0600
 @@ -44,12 +44,18 @@
  // same if another packages is compiling against OSL and using these headers
  // (OSL may be C++11 but the client package may be older, or vice versa --
index 96280014df29365a4b5d0432cc550a5eda093ae8..500e689cdc865663ee354f4f354d28ad95a28aac 100644 (file)
@@ -14,10 +14,18 @@ if NOT "%1" == "" (
     set BuildDir=VS14
     goto par2
   )
+       if "%1" == "2017" (
+    echo "Building for VS2017"
+    set VSVER=15.0
+    set VSVER_SHORT=15
+    set BuildDir=VS15
+    goto par2
+  )
+  
 )
 :usage
 
-Echo Usage build_deps 2013/2015 x64/x86
+Echo Usage build_deps 2013/2015/2017 x64/x86
 goto exit
 :par2
 if NOT "%2" == "" (
@@ -31,6 +39,10 @@ if NOT "%2" == "" (
                if "%1" == "2015" (
                        set CMAKE_BUILDER=Visual Studio 14 2015
                )
+               if "%1" == "2017" (
+                       set CMAKE_BUILDER=Visual Studio 15 2017
+               )
+               
     goto start
   )
        if "%2" == "x64" (
@@ -43,6 +55,10 @@ if NOT "%2" == "" (
                if "%1" == "2015" (
                        set CMAKE_BUILDER=Visual Studio 14 2015 Win64
                )
+               if "%1" == "2017" (
+                       set CMAKE_BUILDER=Visual Studio 15 2017 Win64
+               )
+               
     goto start
   )
 )
index 9e0c3f3ccdc6012041b98845d4b98e4817a7d5b9..a450c487dd9f452ce5a7fa26560cb119e696d5e5 100644 (file)
@@ -1100,8 +1100,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main)
                                SpaceLink *sl;
 
                                for (sl = sa->spacedata.first; sl; sl = sl->next) {
-                                       if (sl->blockscale == 0.0f)
-                                               sl->blockscale = 0.7f;
                                        /* added: 5x better zoom in for action */
                                        if (sl->spacetype == SPACE_ACTION) {
                                                SpaceAction *sac = (SpaceAction *)sl;
@@ -1211,9 +1209,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main)
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
                                for (sl = sa->spacedata.first; sl; sl = sl->next) {
-                                       if (sl->blockscale == 0.0f)
-                                               sl->blockscale = 0.7f;
-
                                        /* added: 5x better zoom in for nla */
                                        if (sl->spacetype == SPACE_NLA) {
                                                SpaceNla *snla = (SpaceNla *) sl;
index bfb2568df71bec1b9cf9810699d671db851a33b6..6a05f870e476621ea28e962cb379b482b0595ee3 100644 (file)
@@ -312,7 +312,6 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene)
        
        v3d = MEM_callocN(sizeof(View3D), "initview3d");
        v3d->spacetype = SPACE_VIEW3D;
-       v3d->blockscale = 0.7f;
        v3d->lay = v3d->layact = 1;
        if (scene) {
                v3d->lay = v3d->layact = scene->lay;
index 0568af454fc2235a0297e387c594bab37e16aa99..2266390d348912ca62b567ab03691a450719cab8 100644 (file)
@@ -677,10 +677,10 @@ typedef enum eDopeSheet_Flag {
 typedef struct SpaceAction {
        struct SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale;
-
-       short blockhandler[8];
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        View2D v2d DNA_DEPRECATED;  /* copied to region */
        
index bbea3b168e3a32820d2738b82111bd091d424323..1b55a97754a1d5db8f5d8ac5b58f2fdd82fb9cd5 100644 (file)
@@ -84,9 +84,9 @@ struct BLI_mempool;
 typedef struct SpaceLink {
        struct SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;        /* XXX make deprecated */
-       short blockhandler[8]  DNA_DEPRECATED;  /* XXX make deprecated */
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
 } SpaceLink;
 
 /* -------------------------------------------------------------------- */
@@ -97,9 +97,10 @@ typedef struct SpaceLink {
 typedef struct SpaceInfo {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-       short blockhandler[8]  DNA_DEPRECATED;      /* XXX make deprecated */
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        char rpt_mask;
        char pad[7];
@@ -124,10 +125,10 @@ typedef enum eSpaceInfo_RptMask {
 typedef struct SpaceButs {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        View2D v2d DNA_DEPRECATED;                      /* deprecated, copied to region */
 
@@ -233,9 +234,10 @@ typedef enum eSpaceButtons_SubType {
 typedef struct SpaceOops {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        View2D v2d DNA_DEPRECATED;  /* deprecated, copied to region */
 
@@ -370,9 +372,10 @@ typedef enum eSpaceOutliner_Search_Flags {
 typedef struct SpaceIpo {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        View2D v2d DNA_DEPRECATED;  /* deprecated, copied to region */
 
@@ -446,9 +449,10 @@ typedef enum eGraphEdit_Mode {
 typedef struct SpaceNla {
        struct SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        short autosnap;         /* this uses the same settings as autosnap for Action Editor */
        short flag;
@@ -506,10 +510,10 @@ typedef enum eScreen_Redraws_Flag {
 typedef struct SpaceSeq {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        View2D v2d DNA_DEPRECATED;  /* deprecated, copied to region */
 
@@ -651,8 +655,12 @@ typedef struct FileSelectParams {
 typedef struct SpaceFile {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
+       char _pad1[4];
        int scroll_offset;
 
        struct FileSelectParams *params; /* config and input for file select */
@@ -892,9 +900,10 @@ enum {
 typedef struct SpaceImage {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-
-       int flag;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        struct Image *image;
        struct ImageUser iuser;
@@ -921,7 +930,8 @@ typedef struct SpaceImage {
 
        /* Filter settings when editor shows other object's UVs. */
        int other_uv_filter;
-       int pad2;
+
+       int flag;
 
        MaskSpaceInfo mask_info;
 } SpaceImage;
@@ -1017,9 +1027,10 @@ typedef enum eSpaceImage_OtherUVFilter {
 typedef struct SpaceText {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        struct Text *text;
 
@@ -1100,8 +1111,11 @@ typedef struct Script {
 typedef struct SpaceScript {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
+
        struct Script *script;
 
        short flags, menunr;
@@ -1130,9 +1144,10 @@ typedef struct bNodeTreePath {
 typedef struct SpaceNode {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;
-       short blockhandler[8]  DNA_DEPRECATED;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        View2D v2d DNA_DEPRECATED;  /* deprecated, copied to region */
 
@@ -1242,9 +1257,10 @@ typedef enum eConsoleLine_Type {
 typedef struct SpaceConsole {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale DNA_DEPRECATED;            // XXX are these needed?
-       short blockhandler[8]  DNA_DEPRECATED;      // XXX are these needed?
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        /* space vars */
        int lheight, pad;
@@ -1267,9 +1283,12 @@ typedef struct SpaceConsole {
 typedef struct SpaceUserPref {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
-       char pad[3];
+       char _pad1[7];
        char filter_type;
        char filter[64];        /* search term for filtering in the UI */
 } SpaceUserPref;
@@ -1284,7 +1303,12 @@ typedef struct SpaceUserPref {
 typedef struct SpaceClip {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
+
+       char _pad1[4];
 
        float xof, yof;             /* user defined offset, image is centered */
        float xlockof, ylockof;     /* user defined offset from locked position */
@@ -1381,9 +1405,10 @@ typedef enum eSpaceClip_GPencil_Source {
 typedef struct SpaceTopBar {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-
-       int pad;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 } SpaceTopBar;
 
 /** \} */
@@ -1399,9 +1424,10 @@ typedef struct SpaceTopBar {
 typedef struct SpaceStatusBar {
        SpaceLink *next, *prev;
        ListBase regionbase;        /* storage of regions for inactive spaces */
-       int spacetype;
-
-       int pad;
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 } SpaceStatusBar;
 
 /** \} */
index 7bb2ce7af021f910571d344dc4eeb0cc1ac82663..be980b4fead449bab15228589615b09e22e82de2 100644 (file)
@@ -171,9 +171,10 @@ typedef struct View3DOverlay {
 typedef struct View3D {
        struct SpaceLink *next, *prev;
        ListBase regionbase;            /* storage of regions for inactive spaces */
-       int spacetype;
-       float blockscale;
-       short blockhandler[8];
+       char spacetype;
+       char link_flag;
+       char _pad0[6];
+       /* End 'SpaceLink' header. */
 
        float viewquat[4]  DNA_DEPRECATED;
        float dist         DNA_DEPRECATED;
@@ -199,7 +200,7 @@ typedef struct View3D {
        int layact;
        
        short ob_centre_cursor;         /* optional bool for 3d cursor to define center */
-       short scenelock, _pad0;
+       short scenelock, _pad1;
        short flag, flag2, pad2;
        
        float lens, grid;