Commit Graph

620 Commits

Author SHA1 Message Date
Martin Poirier
17108481a9 [#20093] Consistent Crash in properties window
Fun bug, took me the better part of the day to track down.

Happens because maximizing swaps spacedata lists between the old area and the newly created maximized area (this one being empty) while ui handlers are still hanging with references to the first area (then trying to access spacedata when handled). And then only if a maximizing operator was run before the UI realign timer event from the previous maximize was handled (fun, I told you).

After discussion with Matt on irc, we decided the best way to deal with that was to remove ui handlers that reference areas of a screen that is no longer used. That solution reflects the fact that the bug is more general that the reproducing steps would lead to believe. There's also absolutely no reason to run UI handlers on invisible areas.
2010-01-12 23:30:19 +00:00
Thomas Dinges
1adab34515 Compile Fix for recent multi touch commit. 2010-01-11 14:23:16 +00:00
Campbell Barton
d5f5e0cd75 report errors with library linking errors.
uses a hack to set the window for the popup for the menu, which is nasty but artists need to know when their files should not be resaved :(
2010-01-11 11:59:14 +00:00
Damien Plisson
4a011a99cb Multitouch trackpad 2 fingers gestures implementation
- 2 fingers scroll (MOUSEPAN / GHOST_kTrackpadEventScroll event) pans/scrolls the view
- 2 fingers pinch (MOUSEZOOM / GHOST_kTrackpadEventMagnify event) zooms the view
And in 3D view:
- alt + 2 fingers scroll rotates the view
- 2 fingers rotation (MOUSEROTATE / GHOST_kTrackpadEventRotate) orbits the view.

The implementation uses a new GHOST event type: GHOST_kEventTrackpad, that is then dispatched as Blender MOUSEPAN, MOUSEZOOM
or MOUSEROTATE events.

This is currently fully implemented for OSX (GHOST Cocoa fires the new events), with auto-detection of the source peripheral, so that a regular mouse still sends MOUSEWHEEL events.
2010-01-11 11:14:36 +00:00
Campbell Barton
a3e461ce1b - player building again
- fix for compiler warnigns
- bpath reporting was incorrect
2010-01-11 10:48:41 +00:00
Matt Ebb
9d67c720d5 * Tweak for splash screen rev. info - dalai, does this look ok on your machine?
* Added very feint separator lines in menus
2010-01-11 01:26:16 +00:00
Martin Poirier
6a15ac70b6 [#20581] Lasso tool ends unexpectedly
Don't limit lasso to 1024 points, just realloc array with increased size when current limit is reached.

Also silence two stupid warnings.
2010-01-10 20:16:56 +00:00
Campbell Barton
b36a05bb7e - fix for crash if drivers were used in the .B.blend
- fix for problem where proxy objects could enter editmode but not exit
2010-01-10 20:01:13 +00:00
Stefan Gartner
9da2c0c6c2 add OpenCOLLADA support to Makefiles
add "export WITH_OPENCOLLADA=true" to user-def.mk to enable it
2010-01-10 09:11:48 +00:00
Matt Ebb
d2b27d00ff Fix for clipped text in splash svn version string - I must have been working around an
extra space at the end of local revision version string.. weird!
2010-01-09 00:49:29 +00:00
Campbell Barton
1f1245a92a Remap Relative paths save option.
If you have a blend file and want to save in a new directory enabling this will save with the paths corrected relative to the new directory.
2010-01-08 17:50:55 +00:00
Damien Plisson
05af8dfe53 Disable anti-aliasing initialization, was causing GL_SELECT issues
NVidia (at least) GL drivers don't provide correct picking through GL_SELECT when the GL context is initialized with sample buffers.

So we can't have FSAA on for now as it breaks border,lasso,.. select.
2010-01-08 14:40:47 +00:00
Matt Ebb
ceab17ee17 Fix for problems in previous commit when buildinfo wasn't enabled. 2010-01-08 06:05:42 +00:00
Matt Ebb
ce538a0694 Added the svn revision number to the splash screen (when buildinfo is
enabled). Also fixed cmake so buildinfo works.


Note to all:
** Please mention the revision number when making a bug report **
2010-01-08 05:51:51 +00:00
Campbell Barton
bce42d6b5e group instance still didnt work in some cases, now tag ID flag when linking as well as appending so its easy to know if an ID is newly added or not. 2010-01-07 16:19:38 +00:00
Campbell Barton
ba645ad67e option to instance groups when linking or appending. 2010-01-07 14:28:00 +00:00
Damien Plisson
f0a22ac2f9 OpenGL anti-aliasing for 3D view, user selectable
Enables AA only for 3D view, and gives the user the option to turn it on/off (in system panel of user prefs)
2010-01-07 10:32:48 +00:00
Matt Ebb
23764238e5 Replaced lasso gesture filling code with scanfill, not 100% as nice, but simpler and more compatible. 2010-01-07 01:27:10 +00:00
Damien Plisson
a994a52497 Disable OpenGL anti-aliasing by default for now. 2010-01-06 15:34:49 +00:00
Damien Plisson
75f190bde8 OpenGL Anti-aliasing implementation for blender windows
Added GHOST_TUns16 numOfAASamples parameter to GHOST_CreateWindow to specify the number of AA samples (null if no AA wanted)
Implemented it in the cascade of GHOST classes.

Full implementation currently done for OSX/Cocoa, stubs for other OSes.
Moguri : it's ready for your win32 implementation !

Note that fallback to a non AA window (if gfx card doesn't support AA) is done inside GHOST OS specific layer, so that blender windowmanager still gets its window created properly.
2010-01-06 11:42:52 +00:00
Matt Ebb
c37df98806 *Disabled filled lasso drawing on Windows for now, was causing some strange problems,
perhaps GLU incompatibilities? If any Windows GL guru can help here, it would be 
most appreciated!
2010-01-06 06:51:04 +00:00
Matt Ebb
0c64d6d71e Small tweaks to gesture drawing to show the filled selectable area.
Gives nice feedback for what will be selected, especially with lasso.
2010-01-06 04:52:13 +00:00
Martin Poirier
6e6560d924 Macro: insert macro properties into sub operator properties when run (this enables you to set a parameter on the macro itself and have the operator it runs use it). Note that macro properties are not initialized from its operators yet, you have to add them manually. Also, this isn't really nice if two operators in the macro have the same property. 2010-01-05 03:31:57 +00:00
Martin Poirier
a325b8b3b9 bugfix: macro redo could crash because of not nulled freed pointer. 2010-01-04 20:18:13 +00:00
Matt Ebb
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
Campbell Barton
28c137a8eb bugfix [#20510] .blog file causes crash (again rev25592) 2010-01-03 05:34:53 +00:00
Martin Poirier
b00cddeb66 Macro registration using the normal rna registration methods (like operators).
bpy.types.register(MacroClass)

instead of

bpy.ops.add_macro(MacroClass)

The rest is unchanged.

Also remove some now unused code for the old registration methods (there's still some remaining).
2009-12-30 22:14:32 +00:00
Campbell Barton
e09d77507e remove operators WM_OT_open_recentfile and WM_OT_open_recentfile_splash
use a python menu instead.
2009-12-28 10:44:02 +00:00
Campbell Barton
351f5d1837 - loading missing files didnt give any warning
- shape key transfer poll function
2009-12-27 23:29:34 +00:00
Martin Poirier
d1f1583c79 Wrong description in WM_OT_call_menu 2009-12-27 17:57:24 +00:00
Campbell Barton
5f4e24d599 operator draw function working again. needed to add layout to the operator to give access to "self.layout" - like panels, headers and manu's have 2009-12-24 21:17:14 +00:00
Campbell Barton
bbe13e7823 * register operators like other classes
* operators now return sets (converted into flags)
* can't remove bpy_operator_wrap.c since macro's still use the custom register funcs
2009-12-24 19:50:43 +00:00
Campbell Barton
accfa71b2c pedantic naming: wmKeyMapItem wasnt called 'kmi' in some cases. 2009-12-24 09:36:15 +00:00
Matt Ebb
980e97923b Key map related things:
* Moved 'change shortcut' (previously directly RMB on menu items) to a context-menu item, and added Remove Shortcut and Add Shortcut. This is all available now in a RMB context menu for operator buttons and menu entries.
* Renamed a bunch of key maps to be consistent with UI names, and human-readable. Since these key map names are now being directly used in the UI for people to find things, they should be understandable and in plain language.

This renaming may break some older saved key map setups - though previously saved .b25.blends should convert over ok. Exported .py files may need some find/replacing - in this commit check the changes in resources.c to see what's changed.
2009-12-24 09:26:06 +00:00
Campbell Barton
6c1bbcd8a2 fix for a crash when running blender in debug mode (-d arg), was registering every operator in debug mode.
added some more sculpt key shortcuts
* R toggles rake
* Shift+A toggles airbrush

note: last commit added Ctrl+0 to set zero subsurf and multires
2009-12-23 15:06:47 +00:00
Brecht Van Lommel
d653192751 Reports: writing movies now uses the reports mechanism to throw errors.
Also fixes bug #19463: screencast to xvid ffmpeg crash.
2009-12-22 12:01:32 +00:00
Brecht Van Lommel
0606dbe291 Fix #20433: make single user doesn't work from menu. Popup menus for
operators were not passing along properties.
2009-12-22 11:59:30 +00:00
Martin Poirier
e2f7a33113 Missing id assignment for kmi creation function (2 out of 3 isn't good enough). 2009-12-21 01:44:33 +00:00
Brecht Van Lommel
924122199b Bugfix: doubles are not supported correctly in SDNA, double click
introduced one in wmWindow.last_click_time. Moved this to the wmEvent
struct, which now no is in DNA, was needed for RNA wrapping but not
needed anymore.
2009-12-19 14:58:24 +00:00
Martin Poirier
62639a55d9 Keymap conflict detection operator.
Takes into account the hierarchical structures of keymaps as well as wildcards (KM_ANY) in event definitions, user remaps (emulate numpad, action/select mouse buttons, ...) and event values that overlap (click, press and release)

For now, doesn't do anything other than print conflicts in the console.

As a result, I cleaned up a lot of keymaps that had double definitions, moved some keymap items in more appropriate places, fixed wrong definitions and removed kmi that were added for testing a long long time ago.

Out of all the remaining conflicts, after removing obvious non-issues, here's what remains: http://www.pasteall.org/9898
2009-12-17 22:14:43 +00:00
Brecht Van Lommel
53edaee89b Fix #19431: gestures would sometimes draw incorrect, now ensures they
are always drawn in pixel space.
2009-12-17 19:55:08 +00:00
Martin Poirier
725319f771 Hotkey for outliner window was there twice
(testing conflict detection)
2009-12-17 19:05:06 +00:00
Campbell Barton
4271a40ee7 - sequencer clipboard now stored globally (not in the scene, makes pasting into other scenes nicer)
- multiple pastes after copying
- clear the sound handle when copying (was crashing)
- allow seq freeing without a scene (assumes seq strip isnt active and sound handle isnt set)
- free clipboard sequences on exit
- paste sequence strips using the relative playhead location from when they were copied.

TODO
- check scene pointers on paste
- detect overlaps after paste
2009-12-17 16:28:45 +00:00
Brecht Van Lommel
68ff5a87ec Fix #20374: Limit selection to visible would not work anymore after trying to
select once but not selecting correctly, due the need backbuffer flag not being
reset correctly in the 3d view.
2009-12-17 14:38:30 +00:00
Matt Ebb
6c006b2ebb Fix [#20397] Saving with F2 on multiple windows layout crashes 2009-12-17 10:01:08 +00:00
Martin Poirier
fd18f55510 keymap editor
New unique ID per keymap item (unique inside their keymap) for default and configuration keymaps.
This allows restoring a single user defined kmi to its previous (default or config) values instead of having to restore the whole keymap.
The restore item button is disabled for kmi added by the users (they don't have an ID).

Also fixes a bug in the rna function for add keymap item (parameter order was incorrect, messing adding back saved configurations).
2009-12-17 03:32:33 +00:00
Brecht Van Lommel
231ddb67b1 Fix #19897: WM_OT_redraw_timer memory leak using Draw Window. 2009-12-14 20:37:05 +00:00
Brecht Van Lommel
face5047d0 Fix #20113: CLICK events stop working when opening a new file. 2009-12-14 19:39:54 +00:00
Brecht Van Lommel
3a9dcf1fea Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25245:25315
2009-12-11 14:38:02 +00:00
Damien Plisson
b056f8eeba Fix small mem leak in wm_window_get_size_ghost 2009-12-11 14:25:37 +00:00