Commit Graph

1622 Commits

Author SHA1 Message Date
Campbell Barton
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
Campbell Barton
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
Andrea Weikert
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
Ton Roosendaal
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
Ton Roosendaal
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
Ton Roosendaal
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
Campbell Barton
9b948717b0 code cleanup: float <> double conversion. 2012-11-03 18:23:30 +00:00
Campbell Barton
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
Campbell Barton
b2d21a1747 fix for release building 2012-11-01 17:02:01 +00:00
Ton Roosendaal
7b9360e05a Bugfix [#33036] Invalid memory read in wm_handlers_do (valgrind warning) 2012-11-01 16:15:00 +00:00
Ton Roosendaal
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
Campbell Barton
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
Campbell Barton
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
Ton Roosendaal
ae097e72a3 Bugfix #33031
Holding down non-modifer keys was generating double-clicks - my fault!
2012-10-31 18:47:49 +00:00
Ton Roosendaal
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
Campbell Barton
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
Andrea Weikert
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
Campbell Barton
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
Campbell Barton
c8975c4375 style cleanup 2012-10-30 12:18:45 +00:00
Ton Roosendaal
e73cfb0a24 To keep my commit rate high! :) 2012-10-29 17:47:56 +00:00
Ton Roosendaal
df7a2d2b66 Yet another hanging variable in event code - code cleanup woes.
This should make trackpads work.
2012-10-29 17:44:05 +00:00
Ton Roosendaal
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
Ton Roosendaal
76288fad8c Fix to make NDoF work again. 2012-10-29 15:40:43 +00:00
Ton Roosendaal
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
Ton Roosendaal
f54983d109 A last (I hope) tweak for double click detection. 2012-10-29 11:08:10 +00:00
Ton Roosendaal
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
Campbell Barton
5549904171 style cleanup 2012-10-29 02:11:40 +00:00
Campbell Barton
0c6a0b293f style cleanup 2012-10-28 15:23:16 +00:00
Ton Roosendaal
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
Ton Roosendaal
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
Campbell Barton
c9e5b1e6ee add --debug-handlers so --debug-events isnt so noisy. 2012-10-27 15:05:12 +00:00
Campbell Barton
7413adce04 add back debug prints for event handlers. not sure why they were removed in r51683 2012-10-27 14:55:31 +00:00
Ton Roosendaal
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
Ton Roosendaal
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
Ton Roosendaal
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
Campbell Barton
e903701450 style cleanup 2012-10-27 01:46:47 +00:00
Ton Roosendaal
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
Ton Roosendaal
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
dbde62d124 fix [#30087] operator_context is different for popup and submenu's *TODO, after 2.62*
having context different for menu vs submenu is quite confusing, now they are both: WM_OP_INVOKE_REGION_WIN
this changes WM_menu_invoke behavior.
2012-10-26 06:22:54 +00:00
Campbell Barton
95b8a64889 fix [#32938] The Splash Screen doesn't show up correctly .....
applying window clipping to the splash on startup gave strange/annoying problems.
2012-10-25 02:57:55 +00:00
Brecht Van Lommel
b4d9037dfb Fix #30940: layout.prop_search() item not drawing correct inside menus. 2012-10-24 21:57:07 +00:00
Campbell Barton
7c846bbe75 add section on how to run scripts in blender for the API intro, found there were no simple docs like this in the wiki.
also set the window type to normal on start when -p argument is given, since the view could be maximized/fullscreen.
2012-10-24 16:55:06 +00:00
Campbell Barton
f07b291591 fix for maximized startup blend preventing -p command line argument from working. 2012-10-24 16:15:36 +00:00
Campbell Barton
81eafc49e6 use min_ii/max_ii over MIN2 MAX2 2012-10-24 05:06:40 +00:00
Campbell Barton
da9f9c27bc debug output: stop printing event handlers for mouse moves of mouse inbetween events. 2012-10-23 13:29:56 +00:00
Bastien Montagne
b5e85cae70 New "dynamic" i18n menu.
Now both UI translation menu (in userprefs) and isocodes are defined in a text file (release/datafiles/locale/languages), parsed at lunchtime. This way:
* No more need to edit Blender code each time we want to add an new language or reorganize the existing menu;
* Translators can easily add a new language for testing, by just editing the text file, so no more need to ask to change Blender code and wait for a new build to see your new translation work in Blender!

Remaining todo:
* Commit i18n py tools
* Update wiki doc!
2012-10-22 14:04:40 +00:00
Campbell Barton
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
Campbell Barton
7deb8d8a26 code cleanup: spelling 2012-10-20 20:36:51 +00:00