Commit Graph

311 Commits

Author SHA1 Message Date
d494c97b58 fix for using enter on menus which load files:
commonly Ctrl+N,Enter or Ctrl+O,Enter
2011-04-23 03:31:27 +00:00
f9f771cd01 converted more mixed tab/space indentations to tabs. only whitespace changes. 2011-04-21 15:53:30 +00:00
c605091b09 Fix for fix for the bugfix :)
Just cleaned the code/order here and added comments why this works.
I should have known it... thanks Andrea for quick action!
2011-04-21 09:43:38 +00:00
2d9c94604a fix crash with lots of operators when running "blender -d". Easy case to reproduce, just try to delete default cube.
Temporary hack to prevent crasher, likely caused by rev. 36242.
2011-04-20 20:46:02 +00:00
069a3c193c Bugfix #27058
Top bar: Add -> Mesh -> UV Sphere + Enter crashed.
It didn't crash with leftmouse, but that was coincidentally working.

Menus were freeing modal handlers in Window, while handlers were still 
in use. Fix provides to tag handlers for being freed now.

Will add on my attention list for more elaborate checking work here, for
upcoming 2.57a I rather stick to minimal change in code here.
2011-04-20 11:15:58 +00:00
Nathan Letwory
d13df6cffc Print out reports on console too (debug and up) as fix for [#26708] "INFO" reports are not displayed
reported by Tom Edwards

Showing of certain reports (ie. info) is very hidden. At least print these to console.
2011-04-09 02:23:39 +00:00
57d020f061 fix [#26756] "Release confirms" breaks marker functionality in Timeline 2011-04-04 07:42:08 +00:00
37007a7bc8 disable continuous grab in the header, its more annoying then useful.
also NULL texture's point density tree data when copying to prevent possible double free.
2011-04-04 03:25:05 +00:00
bfadd7c9aa modify error when python is not found so as not to confuse users who don't build blender.
+ minor edits.
2011-03-30 07:21:41 +00:00
b2ac8ff1e1 Maintenance:
Gave the report-timer (in top header) an own TIMER define, to not
confuse with timers in use for UI. Easier for debugging. :)
Also gave better malloc names to regions in 3d window.

All this for testing proper buffer drawing in Intel cards... which
is still unsolved.
2011-03-28 18:51:27 +00:00
fc7c3c663e - weight paint poll would crash if no area was found.
- don't print a line for each operator run when in background mode.
- extrude was using an invalid type for RNA access.
2011-03-22 14:04:47 +00:00
2299d674f4 operators called from python were not getting their reports back into python errors.
eg:
- console calls operator
- operator calls report
- report went into header rather them back into the console as an error.
2011-03-22 02:38:39 +00:00
6559209dbf [#26482] Solidify / Animation Opengl render. no texture.
workaround for view3d datamask not being correct on opengl render.
2011-03-13 02:44:25 +00:00
bfe5a6ed8f fix [#26448] Solidify Modifier makes mesh texture missing in OpenGL render 2011-03-11 05:23:56 +00:00
476eadbcb1 Bugfix #26437
- Tooltip-hanging fix made the 'active' button be removed when mouse
  enters another subwindow. Caused by commit of a week ago.

- Reverted the eventsystem change that sets 'active subwindow' before
  it calls modal handlers. This made editors become active on using
  menus, buttons, or other modal ops.

  Side effect is that for transform operators called via toolbar, the
  overlay-extra draw with helplines now gets skipped. Will check on
  good ways for it.
2011-03-10 11:11:26 +00:00
108d150032 From the todo:
Hanging Tooltips solved!

It appeared to be that an active button remained in that state when
another region/editor became active. It then kept the button-activate
state, and therefore also the optional tooltip.

This only happened on fast moves, when a mousemove event was not passed
on anymore to the previously active subwindow.

It has been solved with a new notifier (SWINACTIVE), which gets sent on
new active regions. The screen listener then calls uiFreeActiveButtons()
to find out if buttons were still active somewhere else.
2011-03-09 18:42:35 +00:00
2818add586 From the OFTL:
Arrows-move-cursor is back!
It now works for any running modal operator that doesn't handle own
arrow keys. Might need to become more restricted though, some modal
ops don't need it. Want to investigate that still where conflicts are.
2011-03-07 14:56:19 +00:00
882514d28f Bugfix #26270
Transform started with button in Toolbar was drawing the helper
line badly.

This needed two fixes:
- helper line now has poll() callback to check for correct region
- event system needs to set 'subwinactive' for modal handlers too

The latter might fix issues with cursor/overlay drawing in other
cases?
2011-03-04 18:39:58 +00:00
Nathan Letwory
60b22c5d12 doxygen: blender/windowmanager tagged. 2011-02-25 14:04:21 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
346f749a57 Adding support for the "media" play/pause/stop/next/prev buttons
available on many keyboards these days, so that they can be used for
animation playback (giving more options over alt-a and alt-a ad-
infinitum).

Currently, this is Windows only as I don't have a Linux/Mac system to
test on (it should compile with both mingw and msvc, at least using
scons). Maintainers for those systems can probably easily add this in
once they find out the relevant mappings for those systems.
2011-02-18 22:42:03 +00:00
f7295ad6d9 Bugfix: "Tweaking" Markers was working incorrectly
WM_modal_tweak_exit() was making incorrect use of the user-pref option
"Release Confirms Transform", indicated by confused coder comment
(<quote>"XXX: WTH is this?"</quote>).

This manisfested when moving markers by just click-dragging and
existing marker, and having it "drop" whereever the mouse was released
regardless of the user-pref option. This was quite confusing as it was
inconsistent with the way that all other transforms worked when this
option is off, where you would usually start the transform (click-
drag), release the button, move around a bit, and then finally click
to end.
2011-02-17 01:24:52 +00:00
4124804b4e many functions in blender are not marked static but should be.
most local modifier,GPU,ImBuf and Interface functions are now static.

also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
36852b98cb Bugfix #25613
Dropping file in Blender from pre 2.5 period caused eternal loop
loading .blend files :)
2011-01-19 18:07:13 +00:00
69c582a3d4 error in last commit, also skip getting vars for wm_operator_reports() when there are no reports. 2011-01-14 21:45:49 +00:00
8227b3d463 remove/comment unused vars
also removed unnecessary NULL checks (where the pointer was used later without checking).
2011-01-13 04:53:55 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
8b1bfbcfea Todo items:
- File Window: when opened with operator (save, load, etc), you 
  couldn't start a new one, causing memleaks. Now it nicely 
  refreshes file window for new operator.
  Also means you can make CTRL+F3 screenies of filewindow now.
- CTRL+F3 screenshot had memleak on cancel.
2011-01-04 14:37:21 +00:00
be5f30416b Todo item
Drag/drop now has a User preset for dragging threshold.
Noticed this was set to 3 pixels even, made it 5 as default.
Tablet owners can put it larger too :)

Note: the tweak-threshold (3d win) is 10 pixels now, I think
this needs another preset too, leave this for now.

Also: fixed crash in filewindow: drag .blend icon and drop it.
You can't test anything in Blender or you get a bug :)
2011-01-03 17:00:49 +00:00
a7ceeafd71 - correct typos in comments.
- move boxpack struct out of the public header.
2011-01-02 11:06:50 +00:00
47fc52f839 Customdata mask recode caused crashes, sloppy work here, but probably
caused by Campbell using too much Python. In C code you really need
{ and } for multiline if's. :)
2010-12-23 17:47:06 +00:00
c046ae14be Fix for multiple modifier stack calculations per frame.
Since 2.5x blender has been using CD_MASK_BAREMESH for updating objects since object_handle_update() no longer has access to G.curscreen to calculate the mask from viewports.

The problem with this is after an initial calculation, CD_MASK_MTFACE may be required on draw, so it would recalculate the modifier stack multiple times per frame.
One case which caused this is armature animated mesh with texface in a dupligroup.

Fix this by having customdata_mask member in the scene, this isn't great design but at least fixes the bug and only changes a few files.
2010-12-23 04:16:31 +00:00
b0f87a1746 rename addlisttolist() to BLI_movelisttolist()
name was misleading because the list items were removed from the source list.
(no functional changes)
2010-12-21 14:49:34 +00:00
a0ce28d731 Drag & drop feature:
You now can drop a .blend inside blender window to open it.

Implementation notes:
- Added call to extract icon type for files. Code re-used from
  space_file
- External files that get dropped set icon types too.
  Drop box polls can check for this.
- Also enabled setting op-context for drop operators, this was
  needed to prevent filewindow to open.
2010-12-17 19:05:34 +00:00
fdcfca54e0 Annoyance fix:
Using scrollwheel on properties window halted when it was over
a list-button. Now it disables handling wheel events when you use
scrollwheel outside of lists first.

Implementation note: UI event handlers have priority over other
keymaps. That's OK. In this case it's simple conflict, for which
no design solution exists... wouldn't know how to do this nicer!
Code is nice local and can be improved when we look into other
conflicts...
2010-12-16 18:58:22 +00:00
0a3902bb55 change the cursor bounds to only use the Area if the mouse is outside the region or the region is not a WINDOW type. 2010-12-15 16:46:59 +00:00
95f205ed5c Bugfix 21333
"Continuous grab": the boundary is now set to Area (editor), making it work
for operators started in other regions (like toolbar, or in quad view case)
2010-12-15 15:28:03 +00:00
acd7b81c2d bugfix [#25230] Quick extrude Ctrl-LMB : wrong behaviour of 'RotateSource' option.
Problem is is with operator redo which click-extrude exposed.

Check if redo operator can run, otherwise lock the UI and add a label that the operator doesn't support redo.
This is clunky but IMHO better then failing silently and leaving the user confused.

- Merged redo functions into ED_undo_operator_repeat(), code was duplicated in a few places.
- added WM_operator_repeat_check to check if WM_operator_repeat() can run, avoids an undo call when redo work.

Unrelated changes
- GHOST_SystemWin32.cpp set to utf8 encoding.
- cmake_consistency_check.py now checks source files are utf8.
2010-12-15 04:06:19 +00:00
39e3a75978 fix for transform operator giving '<UNKNOWN>' enum value when logged, now pass on the context for operator string representation. 2010-12-13 06:54:25 +00:00
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
117d11021e Bugfix #24847
When report error was drawn in info header, using border select
or paint brushes flickered. Was caused by Triple Buffer method
not checking for correct redraw case.

Also made report redraws less aggressive, it was drawing the info
header all over with 50 FPS for 10 seconds. Made it 20 FPS, and 
added code to only send notifiers for actual changes.

As todo note for future: animated UI options could get better
caching to cope with slower refreshes.
2010-11-24 16:34:38 +00:00
78cd971bac - smoke wasn't closing the file of loading a tile had the wrong length.
- missing break in operator context switch meant RGN_TYPE_CHANNELS was always being overwritten with RGN_TYPE_PREVIEW when calling operators (from r26692)
2010-11-20 07:51:39 +00:00
23fbce5a5f bugfix [#22615] Opening a blend file in python (bpy.ops.wm.open_mainfile() (r29489)
[#22557] bpy.ops.wm.read_homefile() causes segfault (r29372)
2010-11-18 16:33:13 +00:00
7a7b4aff40 Bugfix #24726
Doing F1-load a lot of times on same .blend could crash. 
Janne karhu provided a potential fix, which is good to add
anyway. Will ask him to verify too.

Added XXX warning for these lines, after filesel exec no
context variables should be re-used. Is for later investigation.
2010-11-15 16:26:30 +00:00
64ff9d6de4 fix to allow [#24009] to be fixed.
WM_operator_poll() could fail in cases WM_operator_name_call() would succeed because calling the operator would setup the context before calling poll.
this would result in python raising an invalid error or menu items being greyed out.

now python can also check with an operator context:
  bpy.ops.object.editmode_toggle.poll('INVOKE_SCREEN')
2010-11-04 12:59:03 +00:00
f130d4c0a7 bugfix [#24455] Scene is left at last rendered frame from rendering an animation 2010-11-02 09:34:32 +00:00
184b5fd6db bugfix [#24466] Selecting of object with pattern leads to strange behavior
The undo problem was caused by python operators returning 'RUNNING_MODAL' rather then the return value from wm.invoke_props_popup(self, event) - 'FINISHED'.

This was done because returning FINISHED would free the operator causing the buttons redo handler to try and run a freed operator and crash.

So the real fix is to disallow any operators to use wm.invoke_props_popup(self, event) if they dont have the REGISTER option enabled, fixing the crash and redo problem.
2010-10-31 14:43:30 +00:00
433f871f0f bugfix [#24302] Ctrl+Click Extrude gets old mouse events
double click didnt check mouse distance moved so you could click twice in different areas of the screen very fast and generate a double click event which had old mouse coords copied into it but was sent to an operator set to run on single click (because the double click wasnt handled).

Also added MEM_name_ptr function (included in debug mode only), prints the name of allocated memory.
used for debugging where events came from.
2010-10-18 00:25:32 +00:00
1807beabf5 - UNUSED macro wasn't throwing an error with GCC if a var become used.
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-10-16 02:40:31 +00:00