Commit Graph

1768 Commits

Author SHA1 Message Date
cf6994b910 code cleanup: spelling,
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
2012-11-12 07:33:01 +00:00
744378483c style cleanup 2012-11-12 03:41:25 +00:00
731e15be06 Four fixes (own collection)
- 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)
2012-11-11 18:33:35 +00:00
7d583e37bb Bugfix, IRC report:
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.
2012-11-11 13:12:53 +00:00
886dcf617e MultiSample feature: added provision that requires a restart in order to get
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.
2012-11-11 12:02:39 +00:00
c4f332084f code cleanup:
- blf doesnt have includes for TRUE/FALSE, use 1/0.
- rename ogl_multisamples -> multi_sample, also shorten enum strings.
2012-11-11 10:55:32 +00:00
4121e4b7e7 Added UI support to set OpenGL MultiSample.
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
2012-11-10 11:55:45 +00:00
6d31921b26 Temporarily change:
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!
2012-11-09 10:41:47 +00:00
eff734203f add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
2012-11-09 08:28:14 +00:00
6da6c99221 Small fix:
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.
2012-11-08 11:31:15 +00:00
8740b6cd88 fix [#33108] Running save_as_mainfile breaks relative texture paths
save-as with path remapping left the paths relate to the file written.
2012-11-07 04:13:03 +00:00
cdce3e0949 code cleanup:
- 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.
2012-11-07 01:32:15 +00:00
ecda79a8b8 == file browser ==
[#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
2012-11-06 20:29:14 +00:00
7b60529517 Bugfix #33092
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.
2012-11-06 15:54:04 +00:00
48f968edc2 Bugfix: on Linux (X11) the inactive window was not getting mouse-move events.
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.
2012-11-06 13:22:33 +00:00
441becf22d Bugfix #33096
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 :)
2012-11-06 10:35:02 +00:00
9b948717b0 code cleanup: float <> double conversion. 2012-11-03 18:23:30 +00:00
a31449edad all remove functions now invalidate the RNA objects passed, to help script authors to avoid bugs with accessing removed data. 2012-11-02 09:41:26 +00:00
b2d21a1747 fix for release building 2012-11-01 17:02:01 +00:00
7b9360e05a Bugfix [#33036] Invalid memory read in wm_handlers_do (valgrind warning) 2012-11-01 16:15:00 +00:00
818e9ff88d Bugfix #33038
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.
2012-11-01 15:51:24 +00:00
4fc1a3c8b3 fix for possible buffer overflow in gpu_nodes_get_vertex_attributes() and hair_velocity_smoothing()
and a unlikely NULL pointer dereference in unlink_material_cb().
2012-11-01 09:56:18 +00:00
1bcadda46b fix [#30910] Problems: Add Shortcut(s) for "Ctrl Tab" menu
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.
2012-10-31 20:29:32 +00:00
ae097e72a3 Bugfix #33031
Holding down non-modifer keys was generating double-clicks - my fault!
2012-10-31 18:47:49 +00:00
38a0d48fa7 Bugfix #33032
(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.
2012-10-31 17:28:21 +00:00
d705c52e65 no longer use 'check_existing' to see if we need to have a save popup, instead use 'exec' operator on a saved file and
invoke on unsaved files.

correct missing memset --> CustomData_reset switch too.
2012-10-31 17:03:31 +00:00
6ae77bed7a fix [#30479] Exclamation mark '!' doesn't input with AZERTY keyboard mapping
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.
2012-10-30 21:06:25 +00:00
00acdb6292 remove CD_POLYINDEX customdata layer:
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.
2012-10-30 19:20:17 +00:00
c8975c4375 style cleanup 2012-10-30 12:18:45 +00:00
e73cfb0a24 To keep my commit rate high! :) 2012-10-29 17:47:56 +00:00
df7a2d2b66 Yet another hanging variable in event code - code cleanup woes.
This should make trackpads work.
2012-10-29 17:44:05 +00:00
9efdd09578 Bugfix #33004
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.
2012-10-29 17:41:19 +00:00
76288fad8c Fix to make NDoF work again. 2012-10-29 15:40:43 +00:00
279de03fc5 New woes in event system :)
Last cleanup resulted in the dreaded "Click" to fail again. Commented it.
2012-10-29 12:48:51 +00:00
f54983d109 A last (I hope) tweak for double click detection. 2012-10-29 11:08:10 +00:00
23929c4c53 Bugfix #32996
Backspace event is messed up - it was inserting weird characters in the editors.
Added check for proper keypress now. Will check real issue later.
2012-10-29 08:59:47 +00:00
5549904171 style cleanup 2012-10-29 02:11:40 +00:00
0c6a0b293f style cleanup 2012-10-28 15:23:16 +00:00
d800cffaf1 Event system fix:
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.
2012-10-28 14:49:40 +00:00
dca3587edd Event system cleanup: bringing KM_CLICK back in control.
- 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.
2012-10-28 11:19:35 +00:00
c9e5b1e6ee add --debug-handlers so --debug-events isnt so noisy. 2012-10-27 15:05:12 +00:00
7413adce04 add back debug prints for event handlers. not sure why they were removed in r51683 2012-10-27 14:55:31 +00:00
4682e7c7ce Another tweak in event code to get KM_CLICK work.
It was copying 'prevval' and 'prevtype' too often - can cause issues with
different event systems or perifirals.
2012-10-27 13:35:33 +00:00
16544fb54b Putting back mysterious lines that check KM_CLICK keymap conflicts
It's a real puzzle this click bizz!
2012-10-27 13:15:11 +00:00
3189dac959 The UI wasn't capable of handling Double Click events; causing fast typing to
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.
2012-10-27 09:52:26 +00:00
e903701450 style cleanup 2012-10-27 01:46:47 +00:00
dd176509fd Bugfix for new handling of double-click:
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.
2012-10-26 16:46:26 +00:00
37bf6ef044 Bugfix #28734
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.
2012-10-26 15:21:31 +00:00
0e3de1df4b fix [#31661] Custom properties do no respect min/max values
also renamed function added prev commit
2012-10-26 10:54:02 +00:00
0e6f8e3e25 fix for crash when a python operator or render engine was freed in the C code and then referenced from python.
now further access in python gives an exception at the line when the freed data is accessed.
2012-10-26 10:33:57 +00:00