The problem was that the memory was allocated at the stack, but after the
Python object was created, the pointer to the memory goes invalid.
Thanks to Kester Maddoc for providing a patch - almost 2 weeks ago. Ouch,
I should read my mail a little bit better.
use the internal standards for ascii values > 127
* someone has to check how X11 returns these values! Otherise the old
Blender codes (alt+s = german S) will still work though.
* still have to check this for the buttons!
there)
* replaced with nice local (uiBlock) storage of what goes on in drawing.
it now only calls a glDrawBuffer() and glFinish() when it is actually
needed
Result: interface drawing in general is speedy again, especially for gfx
cards that dont allow frontbuffer drawing, and copy stuff to the frontbuf
with a glFinish() call.
Needs to be tested on all platforms... report to me when you see problems
like menus not drawing correctly, tooltips not drawing or not disappearing,
etc.
- Object_getMatrix() - prints correct values now
- Object_getName() - removes the two identifying chars from the front
- Object_setName() - calls the internal function to correctly set the
name of the object.
* Removed the Object_print function. It causes a crash on Windows.
* Updated the Object_repr function to display the Object nicely.
* Object.Get() now returns a list of Objects when no argument has passed to
it.
* Changed the function declaration for newMatrixObject function
Easier to read now.
rendering the current view (view3d header, render) didn't render solid
drawmode.
found missing opengl initialization calls in opening renderwin.
probably remains from ghost migration.
it is from zr, a note to remind him to have better drawing of procuderal
duplicators in Blender. the code below that comment was mostly a copy
from code it used before already.
writing it more efficient would give a gain of about 20 code lines...
found out that per vertex, per deform group, a heavy function was called
to get an address from a huge array. that address even didnt exist, was
not written in the file... just removing the code makes .blend file
reading happy again.
check it by parenting a 40k vertex mesh, to an armature with "use
armature" and "create vertex groups". save and load file.
the text below as comment:
adding a glFinish() here is to prevent Geforce in 'full scene antialias' mode
from antialising the Blender window. Officially a swapbuffers does a glFinish
itself, so this feels really like a hack... but it won't harm. (ton)
is empty (no $HOME/.Bfs and first time use of FileSelect) it was empty,
causing a nasty drawing error.
It now doesn't draw the menubutton when there are no preset dirs yet.
- removed 'unused variable' warnings from space.c
- Continued getting rid of print methods and updating repr ones:
Needed to fix crashes on Windows >= 98 systems.
- Found and fixed a few small memory leaks in EXPP_interface, related to
execution of script links.
- Fixed a problem with control of the global Python dictionary persistence:
Blender.ReleaseGlobalDict(bool) should now work fine.
- Trying to fix the sigsegv crashes on Windows:
They happen when we try to "print" our objects, like Lamps or Cameras.
Following advice from the Python Embedding doc, removed the tp_print
method from Camera and also improved its tp_repr one, that will be used
as print, repr() and str() for Cameras. If this test works all other objs
will be updated accordingly.
the myriad of warnings people complained about so long.
after careful consulting & reading I could not find a good reason
for this const stuff, apart from a sort-of comment to indicate
this array (matrix) pointer cannot be changed. Well, doh! you
should not do that with a float mat[][3] anyway!
Thanks Florian Eggenberger for telling us about it. And Greg McBride for
pointing a possible fix.
- Draw.Text and Draw.GetStringWidth updated:
Now they accept an optional second parameter to set font size and Draw.Text
returns the drawn string width.
- Partially fixed the update() and PutRaw() bugs in NMesh:
A total fix will require bigger changes, but what was done (unless buggy)
takes care of the common cases.
- projects vertices without clipping code (xs at 3200)
- sets flag in editvert ( eve->f & 2) when it is not visible
general note: that flag is only valid after the calc_meshverts_ext_f2
call. it is a free flag. be aware that selection
is stored in bit 1 (eve->f & 1)