Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-05RNA: optimization to avoid malloc for iterators.Brecht Van Lommel
This mostly helps making Cycles scene synchronization a bit faster.
2014-04-04Code cleanup: no need to use calloc when memory is initialized afterCampbell Barton
also replace AT with __func__ since AT expands the full pathname
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-19Fix `bpy.types.Operator.bl_rna.foobar` not working since rBfe094eaf20.Bastien Montagne
When path to resolve "finishes" on a collection prop, do not erase the returned prop! This caused py's path_resolve to return same PointerRNA as the one passed as parameter, leading to inifinte recursion in Operator's accessor func (__getattribute__)...
2014-03-12Fix possible (unlikely) use of uninitialized pointer in RNA resolvingCampbell Barton
2014-03-11Fix T39080: copy-to-selected operator fails for pointer properties.Lukas Tönne
The copy-to-selected operator for RNA buttons uses paths for copying object pointer properties. Copying other ID data blocks is deliberately disabled: https://developer.blender.org/diffusion/B/browse/master/source/blender/editors/interface/interface_ops.c$274 However, the RNA_path_resolve_full function is not properly working for retrieving pointer properties: it always will dereference pointer properties in anticipation of further path elements. In fact the return value of RNA_path_resolve_full has a conflicting double meaning. It returns `false` when * the RNA path is invalid * any of the pointer properties is NULL This means that it is not capable of returning pointer properties at all. To make this possible, there is now an internal function for path parsing, which returns false //only// if the the path is invalid. On top of this there are 4 wrapper functions for retrieving either actual property values (RNA_path_resolve, RNA_path_resolve_full) and for retrieving pointer+property pairs (RNA_path_resolve_property, RNA_path_resolve_property_full). The latter 2 variants will **not** dereference pointer properties at the end of the path, so callers can actually get the property itself. The `***_full` variants include an array index return value. Differential Revision: https://developer.blender.org/D396
2014-03-10Minor cleanup: use rna_ prefix for path_resolve_* functions forLukas Tönne
consistency.
2014-03-10Cleanup for RNA_path_resolve_full.Lukas Tönne
* Moved collection key parsing and array index parsing into their own functions, to make the main path loop easier to follow. * Unified boolean return values.
2014-02-27Fix root of the issue of bad_cast bug in localizationSergey Sharybin
No need to call l10n stuff when it's disabled in the preferences. Reviewed by @mont29, thanks!
2014-02-19Fix T38706: dropdown labels in popups not updatingCampbell Barton
Caused by own recent changes to menu handling
2014-02-18Fix regression that Blender crashes on startup if UI translation is enabled, ↵IRIE Shinsuke
it was mistake in rB50b2c78ad8b6.
2014-02-17RNA: assert on NULL return values from itemf callbacksCampbell Barton
2014-02-17Fix T38650: Crash from enum item functions returning NULL instead of aLukas Tönne
single terminator item. Ideally no enum item function should return NULL, but since this is very common and an intuitive mistake, better handle that case gracefully in the RNA access function.
2014-02-15IDProp API: change IDP_NewString so `sizeof()` can be passed in.Campbell Barton
2014-02-09RNA: add RNA_enum_from_identifier, RNA_enum_from_value search functionsCampbell Barton
also fix leak in RNA_enum_is_equal
2014-02-05Fix for RNA stringifying enum-flags freeing wrong pointer.Campbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-12Style Cleanup: whitespaceCampbell Barton
2014-01-04RNA API: use bool's for enum itemf callbacks.Campbell Barton
2013-12-21Fix T37903: Operator log serialization broken for sets.Bastien Montagne
Was a mistake in rB9d6f05ed style edits (TRUE became false ;) ).
2013-12-12RNA: Add assert to ensure the idprop is correct size on array get/setCampbell Barton
2013-11-26User Interface: don't show macro args in tooltipsCampbell Barton
was often making much too big strings to show in a tip.
2013-11-07Fix [#34675] *AFTER 2.69* Info view shows duplicate operators with incorrect ↵Bastien Montagne
values of args Refactored a bit WM api to generate operator's pystring, now it can also handle correctly macro operators. Thanks to Campbell for the review!
2013-10-16add IDP_FreeFromGroup(), replaces IDP_RemFromGroup(), IDP_FreeProperty(), ↵Campbell Barton
MEM_freeN().
2013-10-14fix [#37072] Crash on RMB click on bone's custom propertyCampbell Barton
2013-09-21Fix [#36788] changing the built in keying set prints "attempt to free NULL ↵Bastien Montagne
pointer" to console.
2013-09-20Fix #36226, Select Linked works not in touch with Prefs.Lukas Toenne
When setting keymap properties to values equalling the RNA default, they will get "unset" and automatic operator behavior is used. There is no way to explicitly set the default value as a user. 1) To allow distinguishing uninitialized (not set) properties in the keymap items, a few changes to the RNA struct comparison function are needed: Instead of allowing only strict/non-strict comparison of 2 properties A and B in a struct, this now has 3 modes: * STRICT: compare only the actual property values (same as 'strict' before) * UNSET_MATCH_ANY: if either A or B is unset, consider them a match (same as non-strict before) * UNSET_MATCH_NONE: if one property is set and the other not, consider them a mismatch. The new UNSET_MATCH_NONE mode is useful for keymaps, because it allows keeping user-defined property values in the keymap even if they match the default property value (see wm_keymap_diff function in wm_keymap.c) 2) A new operator is added for unsetting ID properties in the RMB context menu and in user preferences next to keymap properties. This only works on ID properties and deletes the ID property storage, so that the default value is used. In the user preferences for keymaps the properties are shown in an inactive layout to indicate that the default value is used (which some operators such as the "select linked" op from the report use to trigger automatic behavior). When the user sets a property it gets set and stays that way until explicitly "unset" using the new operator.
2013-09-18fix relating to bug [#36758],Campbell Barton
When printing operator reports, ommit unset properties. This is needed because in some cases operators check if a value is set or not, so filling in default arguments may change behavior.
2013-09-13correct error in libmv stub, also correct typo.Campbell Barton
2013-09-11Fix #36327: cycles render layers exclude layers animation did not work well.Brecht Van Lommel
This is kind of another way to animate layers which is disabled, but add an exception to make this case work.
2013-08-26RNA fixes regarding dynamic array properties in functions parameters ↵Bastien Montagne
(reviewed by Brecht, thanks!): * It was not clear that RNA_parameter_length_get() & co only affected dynamic properties, renamed them to RNA_parameter_dynamic_length_get() and such. * Fixed RNA_function_find_parameter(), we can't use BLI_findstring() here, need to call RNA_property_identifier()! * Fixed RNA_parameter_get() and RNA_parameter_set(), which were completely wrong for dynamic properties. * Fixed RNA_parameter_dynamic_length_get/set_data(), they did not check the property was actually a dynamic one and were using again ugly blackmagic casting intead of ParameterDynAlloc structure! * makesrna was still using an ugly hackish (and perhaps not always working) code when handling dynamic parameters, now synchronized with RNA_parameter_dynamic_length_get_data and RNA_parameter_get code.
2013-08-24style cleanup: space around for loop wrappersCampbell Barton
2013-08-11Fix RNA parameter passing issue with dynamic arrays, was computing the wrongBrecht Van Lommel
size in some cases.
2013-07-28move suspicious break statement in drawDispListsolid() to prevent falling ↵Campbell Barton
through.
2013-07-09fix [#35806] Unable to check "Correct UVs" option in "Loop Cut and Slide" ↵Campbell Barton
(Keymap Editor)
2013-07-02fix for error reading defaults from custom properties, would read out of ↵Campbell Barton
bounds memory. recent change to animsys r57904 exposed this error in some sintel files.
2013-06-03fix [#35501] Operator log: some property changes log as [...].(null) = ...Campbell Barton
2013-05-17code cleanup: use BM_elem_flag_test rather then accessing 'ele->head.hflag'Campbell Barton
2013-05-15Fix another cases where painting long brush strokes with small radius was slowedBrecht Van Lommel
down, this time by the operator properties getting converted to a string for display in the info window. With 1000+ stroke points this can get slow, and takes up too much space anyway, so now it's (somewhat arbitrarily) limited to printing only 10 points.
2013-05-14style cleanupCampbell Barton
2013-05-11style cleanupCampbell Barton
2013-05-11Fix #35289: UV layout export to image was extremely slow for large meshes. ThisBrecht Van Lommel
was due to slow implementation of slice operation for things like mesh uv data. Made that faster now for cases where the internal storage is an array.
2013-05-03adjustment to own commit r56463.Campbell Barton
when strings use 'PROP_NEVER_NULL' we still want them to show an unlink button.
2013-04-25Fix [#34545] Render layer name is unwantedly translated in composite node editorBastien Montagne
Some enums' items actually are generated from data (like the render layers of compo nodes), so they should not be translated. Added a PROP_ENUM_NO_TRANSLATE new RNA flag to tag those enums (only found those for nodes, but may be more of them around). Also fix similar issue in main list of render layers (Py UI code! :P ).
2013-04-24fix [#34958] keyframe many items would fail if there was a (") in the text.Campbell Barton
2013-04-22Bugfix [#34836] Crash when driver variable has path == 'data'Joshua Leung
Most of the places which relied on RNA_path_resolve() did so believing that if it returned true, that it had found a valid property, and that the returned pointer+property combination would be what the path referred to. However, it turns out that if the property at the end of the path turns out to be a "pointer" property (e.g. "data" for Object.data), this would automatically become the pointer part, while the prop part would be set to null. Hence, if a user accidentally (or otherwise) specifies a path for the single-property driver variable type like this, then Blender would crash. This commit introduces two convenience functions - RNA_path_resolve_property() and RNA_path_resolve_property_full() - which mirror/wrap the existing RNA_path_resolve() functions. The only difference though is that these include a check to ensure that what was found from resolving the path was in fact a property (they only return true iff this is the case), and make it explicitly clear in the name that this is what they will do so that there's no further confusion. It is possible to do without these wrapper functions by doing these checks inline, but the few cases that had been patched already were pretty hideous looking specimens. Using these just make it clearer and simpler for all. I've also beefed up the docs on these a bit, and changed these to using bools.
2013-04-15Touch properties when clearing/adding to a collection.Sergey Sharybin
Fixes an issue when adding several movie strips fails second time in sequencer.
2013-04-09Fix #34938: Not freeing dynstr_cstring memory blocks when setting shape keysSergey Sharybin
In fact almost any rna pointer-to-string had a memory leak. Patch by Jakub Zolcik (sftd) with minor modification.
2013-04-05Apparently, you shall not define variables in the middle of the blockSergey Sharybin
2013-04-05Fix #34862: some operators like mesh separate or object clear parent were notBrecht Van Lommel
showing shortcuts in menus, now it shows them in the submenu.