- Screencast: stops working on window resize - crashes movie file output
- Screencast now draws simple brush overlay to indicate mouse cursor.
- Greasepencil now works again to use MMB for view rotates
(and missed proper redraw signal for toolbar, at end of paint)
NumPad emulation code wasn't working for double-clicks, preventing to fast
type same values in buttons (Like, 111111 resulted in 111 only).
Moved the emulation hack to where it belongs, in lowest level function that
interprets the ghost events for Blender's WM events.
it work properly - you cannot set/disable it in a running program with windows
open.
In short: Multisample setting is static, set on first time running of Blender,
after reading the user preferences.
For as far as I can see - disabling/enableing (glEnable) doesn't harm to be
used in drawing code. With multisample on at start, you can enable and disable it
freely. But without it set at start, enabling doesn't do anything nor draws badly.
Code to support it was lying around for long already, but not controlled by UI nicely.
Now you have in user preferences "System" tab an option to set it.
NOTE:
- it only works saving as User startup.blend, and restart Blender.
- your system should support it, no check for it is visible in UI
- tested only on iMac OSX 10.7
Screenshot:
http://www.blender.org/bf/chinchilla.blend.png
Intel graphics cards now use Triple Buffer when you set it to "Auto".
Recent tests proved that this is now working... and better test this
now well than a week before a release!
Pressing ESC for renders now checks for modifier keys, and doesn't escape renders
when a modifier key is held. In Windows, SHIFT+CTRL+ESC brings up task manager,
and it seems to pass on the event.
- remove double promotions
- use UI_DPI_ICON_FAC macro rather then dpi/72
- add assert to prevent creating jobs with WM_JOB_TYPE_ANY, which should only be used for finding jobs.
[#33080] Backup icons - further integration
Contributed by Georg Kronthaler, many thanks!
* enables display of correct file icon on splash screen and in Open Recent menu
* exposes filter_backup in the python api
* enables setting BLENDERFILE_BACKUP as active filter in file browser from wm_operators.c (and from .blend in case this setting will be saved in the future)
* adds a comment to slightly misleading function name file_is_blend_backup()
* Updates icon for backup files to be more consistent with icon for .blend files
Fluid sim would stop or crash with node editor.
Bug was a real bad one - the code for giving out WM jobs was messed up for long.
It was giving a running fluid job to the compositer even... tsk!
I will go over jobs code carefully next days to see if it all behaves. Now it
allows per owner multiple jobs, provided it has different job_type set.
Also fixed: preview renders (material) were deadslow once a while - caused
by icon render setting miniature tile render sizes. Now it's fast again,
but there are still 3 icon jobs running per UI change... need to check what.
This feature has been working in OSX for long - to see mouse-overs on buttons
from inactive windows (and tooltips) and allow a button to be active for
input right away.
Will need check by linuxers if this works satisfying. Also Windows now might
support this feature.
Code drawing paint cursors in regions didn't check for zero-sized regions well.
Causing error prints: wmSubWindowScissorSet 0: doesn't exist
Harmless, but nicer to handle it correct :)
TIMER events could get keymodifier set - in this case the user assigned
spacebar modifier for setting views (running smoothview timer)
Also: cleaned op old hacks from event checking code.
The rule should be:
1) generate event properly, frozen state
2) pass on to handlers without exceptions or changing internal state
The only exception currently is for the "CLICK" (map key-release to unhandled
key-press).
Also: made --debug-event print OK. Slight cleanup in eventprinting in general.
It was putting the wmEvent state print in wrong place, doing it 4 or 8 times.
comparing keymaps was too sloppy or too strict, now sloppy keymap comparison works by setting all the operator
properties to their default values if they are not already set, then compare this with the keymap item (ignoring values missing from either one).
... this way any non default keymap setting wont match with an operator menu item which doesnt set this operator at all (a problem sighted in this bug report).
developer notes:
- IDP_EqualsProperties_ex() function adds an argument to treat missing members of either group to act as if there is a match.
- WM_operator_properties_default() function to reset RNA values to their defaults.
- add IDP_spit(), debug only function to print out ID properties.
(since 2010)
- Using 2-button mouse emulation (common for tablets)
- Press LMB, start painting, press ALT, release LMB
- This kept painting to run, since the release event was a MMB,
not handled by paint code.
For the french keyboard setting (AZERTY) on Windows, the '!' came back with winevent->type=312, winevent->ascii='!' and the ISTEXTINPUT only matched key codes up to 255. Now replaces with
ISKEYBOARD in wm_eventmatch.
reported as [#29376] BMESH_TODO: remove tessface CD_ORIGINDEX layer
for a single mesh there could be 3 origindex mappings stored, one on the polygons and 2 on the tessfaces.
(CD_POLYINDEX and CD_ORIGINDEX).
as Andrew suggests, now tessfaces (which are really a cache of polygons), using origindex to point to polygons on
the same derived mesh, and polygons only store the original index values.
Screencast recording stopped on a undo/redo. This was because all thread jobs
were killed then. Now it leaves screen jobs (screen cast) running, that's
data that doesn't change on undos.
Also renamed jobs_stop_all() to jobs_kill_all() - it terminates threads.
Now modifier key press gets generated without having own modifier set.
Same happens for double clicks on modifiers.
This also fixes case: press shift twice first, modifier fails.
- Solved Modal Keymap hijack of event codes
(with note this should be coded better)
- Added dedicated state variable check_click in event to trigger it
All this in an attempt to get code understandable and predictable again. :)
This solves error like:
- editmode mesh
- select a vertex
- grab it, press control for grid snap
- on LMB assign, it also did an extrude.
not work.
This is a temporary fix to make button type work. I'll check on other cases
now too.
Best would be to have UI code return correct flags for whether it has
done something or not. This hasn't been coded really - so that's a todo for
a later cleanup there.
The modifier keys were getting own key as modifier :)
Made it not possible to use them for events.
Still open issue: for some reason modifer key 'press' gets swallowed.
Digging into that.
Double clicks were never working reliably in Blender - this mostly because
it wasn't a real event, but something generated in the handler code.
Now it is an actual event - meaning it always gets handled (if you have
a keymap item for it of course), but if there's no doubleclick handling
it treats the doubleclick as a normal click.
Also cleaned code. No recursion anymore.