--- blender-2.79/source/blender/python/intern/bpy_app_handlers.c.orig	2017-09-14 15:41:13.142883900 +0300
+++ blender-2.79/source/blender/python/intern/bpy_app_handlers.c	2017-09-14 15:41:34.396030100 +0300
@@ -128,7 +128,7 @@
 /* dummy type because decorators can't be PyCFunctions */
 static PyTypeObject BPyPersistent_Type = {
 
-#if defined(_MSC_VER)
+#if defined(WIN32)
     PyVarObject_HEAD_INIT(NULL, 0)
 #else
     PyVarObject_HEAD_INIT(&PyType_Type, 0)
@@ -207,7 +207,7 @@
 {
   PyObject *ret;
 
-#if defined(_MSC_VER)
+#if defined(WIN32)
   BPyPersistent_Type.ob_base.ob_base.ob_type = &PyType_Type;
 #endif
 
--- blender-2.79/source/blender/python/intern/bpy_rna.c.orig	2017-09-14 15:41:13.142883900 +0300
+++ blender-2.79/source/blender/python/intern/bpy_rna.c	2017-09-14 15:41:34.396030100 +0300
@@ -6254,7 +6254,7 @@
     NULL, /* struct PyMethodDef *tp_methods; */
     NULL, /* struct PyMemberDef *tp_members; */
     NULL, /* struct PyGetSetDef *tp_getset; */
-#if defined(_MSC_VER)
+#if defined(WIN32)
     NULL, /* defer assignment */
 #else
     &PyType_Type, /* struct _typeobject *tp_base; */
@@ -6831,7 +6831,7 @@
     NULL, /* reprfunc tp_str; */
 
 /* will only use these if this is a subtype of a py class */
-#  if defined(_MSC_VER)
+#  if defined(WIN32)
     NULL, /* defer assignment */
 #  else
     PyObject_GenericGetAttr, /* getattrofunc tp_getattro; */
@@ -6864,7 +6864,7 @@
 #  endif
 /*** Added in release 2.2 ***/
 /*   Iterators */
-#  if defined(_MSC_VER)
+#  if defined(WIN32)
     NULL, /* defer assignment */
 #  else
     PyObject_SelfIter, /* getiterfunc tp_iter; */
@@ -7380,7 +7380,7 @@
 #endif
 
   /* For some reason MSVC complains of these. */
-#if defined(_MSC_VER)
+#if defined(WIN32)
   pyrna_struct_meta_idprop_Type.tp_base = &PyType_Type;
 
   pyrna_prop_collection_iter_Type.tp_iter = PyObject_SelfIter;
