- BLI_strncpy_wchar_from_utf8 wasn't NULL terminating the destination string, caused uninitialized memory use in BPY_python_start().
- BLI_strncpy_wchar_as_utf8 could write one byte past the buffer bounds.
This means main database is no longer pollutes with
temporary scene and objects needed for freestyle
render.
Actually, there're few of separated temporary mains
now. Ideally it's better to use single one, but it's
not so much trivial to pass it to all classes. Not
so big deal actually.
Required some changes to blender kernel, to make it
possible to add object to a given main, also to
check on mesh materials for objects in given main.
This is all straightforward changes.
As an additional, solved issue with main database
being infinitely polluted with text blocks created
by create_lineset_handler function.
This fixes:
- #35003: Freestyle crashes if user expands objects in FRS1_Scene
- #35012: ctrl+f12 rendering crashes when using Freestyle
(which in fact wasn't mapped to ctrl), it would add in a non printable
character '1' / ascii-SOH, traced back to original commit and theres no
comments about this or mentions as to what its supposed to do).
Windows systems: text editor, text object, doesn't allow to input the standard
set of ALT+key characters (the ones coming from the OS).
- Reverted fix january 2012 - that meant to use text object ALT+keys
- Removed old (90ies) feature for hardcoded special characters in Text object.
(OS delivers this now)
Will wait for confirmation by windows compiler :)
- Added versioning for reading old files with logic saved
- Added two more 'alt backspace' options, for copyright and registered trademark.
(also 'tm' but it's not in our default font)
3D text object editing, ALT+Backspace trick is back to construct special characters.
Like: O , Alt+Backspace , / creates an O with a / in it.
It also makes plus-minus, unequal, copyright, 1/2, 3/4. etc. Easy method you
never forget after using once!
Got broken with adding UTF support a year ago.
Notes:
* This commit adds about a third of missing tips (a few are rather dummy, as name already says everything, but better that than "(undocumented operator)" showing in UI!
* There is a problem with macros, their tips are not registered in RNA. Got a patch for this, will submit it to campbo asap.
- Make sure functions are named in way BKE_<object>_<action> (same way as RNA callbacks)
- Make functions which are used by mball.c only static and remove their prototypes
from public header file.
Further cleanup is coming.
Not all file formats/calls are supported yet. It will be expended.
Please from now on use BLI_fopen, BLI_* for file manipulations.
For non-windows systems BLI_fopen just calls fopen.
For Windows, the utf-8 string is translated to utf-16 string in order to call UTF version of the function.
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.
All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.
Reviewed by Andrea, thanks!
- initialize the relative_path option in ED_fileselect_get_params(), saves initializing within every operators own init functions, some even trying to initialize a non existing property.
- don't set the operator default from the user preferece, operator property defaults should be static else python scripts for eg can get different defaults depending on user settings, this also wont get updated when user-defaults are edited so generally confusing & not good practice.