- Unlinked text block was sending as reference to note which isn't safe at all
- Minor reorgonize of text space listener to use switches instead of big condition
- rename TextLine.line -> body, ConsoleLine.line -> body
- minor speedups when setting the body text, also re-allocate console lines if they are < half the length.
- added option to highlight current line in the text editor.
means you can easily undo what the script did, and keeps the undo stack
up to date. Maybe sometimes it's not necessary, but I think it's
reasonable to do this always.
from Justin Dailey (dail)
from the tracker
--- snip ---
In the text editor doing something like this:
print(":(")
When it goes to match the closing bracket, it will highlight the one in the string, not the first one. Also doing:
array["[index"]
will cause it to match the second [ with the closing one.
I have attached a patch to fix this issue. (See attached image to see correct highlighting)
It also works with triple quotes strings(ie """...""" or '''...''')
*Note* However, originally bracket highlighting always on even if syntax highlighting is off. The patch makes it so
it only highlights brackets when syntax highlighting is on (this is a side effect of doing the code this way, if it
was done any other way ALOT of code would have been needed to check for strings,triple quoted strings, escaped quotes,
and comments forwards and backwards). When highlighting matching brackets, the code checks the line's format string
to see if the char is in a string or comment to skip it. If syntax highlighting is turned off, the format string is
null and cannot be used,thus no bracket highlighting.
path -> filepath (for rna and operators, as agreed on with elubie)
path -> data_path (for windowmanager context functions, this was alredy used in many places)
from Jacob F (raccoon)
This does two things to the text editor:
1) Adds coloring (same color as numbers) for True and False.
2) Fixes [#22551] Syntax coloring offset does not update when using real tabs and changing tab width
- added relative option to saving external multires data
- renamed multires external functiosn to have save / pack as suffix.
- added TODO's for file select operators that should support relative paths but dont.
- also disable openmp on linux cross compile, mingw currently isnt linking -lgomp
Added ability to drag images and movies directly onto objects to assign them as textures.
You can drag them from the file browser, directly from the OS or even from other apps. Here's a video to demonstrate:
http://www.youtube.com/watch?v=fGe2U8F_JvE
Ton wanted to show me how to add it, but he ended up doing almost all of the coding himself ;)
Ton/Matt: Dropping a text file in the Text Editor fails for some reason. It aught to work - probably a keymap conflict of some sorts?
[#20854] PROPERTIES STAMP: Rendering stamp flickers in output renders
Blenfont was not thread safe, that is why one thread can change
the font properties (size, dpi, color, etc) at the same time
that the stamp draw on the image, and then the problem.
To make blenfont thread safe I have to change two important things:
1) Every BLF_* function take one argument, the font id.
2) We have two new function to make font "thread safe":
BLF_load_unique
BLF_load_mem_unique
This two function are for case like stamp, that need and own font
that don't share the glyph cache, so can draw without problem
in a different thread.
Why the BLF_*_unique function ?
Because blenfont keep only one copy of a font and keep a list of
"glyph cache". Every glyph cache have size and dpi, so if two
different thread access the same font at the same time, they can
change value and finish with something like the stamp problem.
Why don't remove the glyph cache ?
Because if we do that, we finish with a font object for every size
and dpi, and the stamp is really a special case that happen in
the rendering process, so I really thing is better keep the
glyph cache and make this two new function to handle this
special case.
(When I say "font object" I mean have the same freetype font multiple
times just to have differents size and dpi)
As Matt point we still can have one case that two thread access
the BLF_*_unique function at the same time, but I am looking to
fix this with some class of thread lock.
For now I test and work fine, so if some one found problem, please
let me know.
Campbell I have to change the python api (python/generic/blf_api.c)
to the new syntax, so maybe you can take a look at this.
- collada export would run MEM_freeN on an un-initialized pointer in some cases.
- makesrna was missing a call to close a file.
- text cursor update function was missing a NULL check for st->text.
- possible (unlikely) un-initialized return value for bge python lamp.type, set error instead.
- possible (unlikely) missing NULL terminator with strncpy for ffmpeg.
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
/usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
bpy.data.images.load(), missed this call.
(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.
next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 by Campbell from render25 branch)
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing: UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
The code used to calculate the number of spaces to insert for a tab (so that indention widths were aligned to multiples of the number of spaces to use) was incorrectly assuming that the line that this was to occur on was blank, using text->curl->len (i.e. the length of the current line).
The code now uses the position of the cursor to determine how many spaces need to be added to it to move it to the next multiple of the tab width.
---
Also, added numpad enter to text-editor keymap for creating new lines for more consistency with user expectations.