comparison src/if_py_both.h @ 14303:f761a55a8aed v8.1.0167

patch 8.1.0167: lock flag in new dictitem is reset in many places commit https://github.com/vim/vim/commit/c89d4b35300b98cf68b14c89c8e1add51bd857e3 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 8 17:19:02 2018 +0200 patch 8.1.0167: lock flag in new dictitem is reset in many places Problem: Lock flag in new dictitem is reset in many places. Solution: Always reset the lock flag.
author Christian Brabandt <cb@256bit.org>
date Sun, 08 Jul 2018 17:30:06 +0200
parents 30a0068f6167
children 380217380738
comparison
equal deleted inserted replaced
14302:35465f8b5195 14303:f761a55a8aed
1830 { 1830 {
1831 Py_XDECREF(todecref); 1831 Py_XDECREF(todecref);
1832 PyErr_NoMemory(); 1832 PyErr_NoMemory();
1833 return -1; 1833 return -1;
1834 } 1834 }
1835 di->di_tv.v_lock = 0;
1836 di->di_tv.v_type = VAR_UNKNOWN; 1835 di->di_tv.v_type = VAR_UNKNOWN;
1837 1836
1838 if (dict_add(dict, di) == FAIL) 1837 if (dict_add(dict, di) == FAIL)
1839 { 1838 {
1840 vim_free(di); 1839 vim_free(di);
2036 Py_DECREF(fast); 2035 Py_DECREF(fast);
2037 Py_DECREF(iterator); 2036 Py_DECREF(iterator);
2038 PyErr_NoMemory(); 2037 PyErr_NoMemory();
2039 return NULL; 2038 return NULL;
2040 } 2039 }
2041 di->di_tv.v_lock = 0;
2042 di->di_tv.v_type = VAR_UNKNOWN; 2040 di->di_tv.v_type = VAR_UNKNOWN;
2043 2041
2044 valObject = PySequence_Fast_GET_ITEM(fast, 1); 2042 valObject = PySequence_Fast_GET_ITEM(fast, 1);
2045 2043
2046 if (ConvertFromPyObject(valObject, &di->di_tv) == -1) 2044 if (ConvertFromPyObject(valObject, &di->di_tv) == -1)
5850 { 5848 {
5851 PyErr_NoMemory(); 5849 PyErr_NoMemory();
5852 dict_unref(dict); 5850 dict_unref(dict);
5853 return -1; 5851 return -1;
5854 } 5852 }
5855 di->di_tv.v_lock = 0;
5856 5853
5857 if (_ConvertFromPyObject(valObject, &di->di_tv, lookup_dict) == -1) 5854 if (_ConvertFromPyObject(valObject, &di->di_tv, lookup_dict) == -1)
5858 { 5855 {
5859 vim_free(di); 5856 vim_free(di);
5860 dict_unref(dict); 5857 dict_unref(dict);
5948 Py_DECREF(valObject); 5945 Py_DECREF(valObject);
5949 dict_unref(dict); 5946 dict_unref(dict);
5950 PyErr_NoMemory(); 5947 PyErr_NoMemory();
5951 return -1; 5948 return -1;
5952 } 5949 }
5953 di->di_tv.v_lock = 0;
5954 5950
5955 if (_ConvertFromPyObject(valObject, &di->di_tv, lookup_dict) == -1) 5951 if (_ConvertFromPyObject(valObject, &di->di_tv, lookup_dict) == -1)
5956 { 5952 {
5957 Py_DECREF(iterator); 5953 Py_DECREF(iterator);
5958 Py_DECREF(valObject); 5954 Py_DECREF(valObject);