Commit Graph

2558 Commits

Author SHA1 Message Date
d003a08302 Fix stack corruptions in special cases
Issue was caused by wrong array length used
for result of name_uiprefix_id, which shall
actually be 1 byte bugger than MAX_ID_NAME.

Reported by Sebastian Koenig in IRC.
2013-05-23 18:19:50 +00:00
cd6b27f2b5 remove return value from MEM_freeN, it wasn't used anywhere and was cast to a different function signature. (which evidently works but error prone). 2013-05-21 07:37:59 +00:00
6de829cb7a code cleanup: split scons includes onto multiple lines, reduce chance of include conflicts later on. 2013-05-20 18:42:28 +00:00
ebda20150d fix for crash with toggle-drag on a popup (when the popup is closed while dragging). 2013-05-17 13:54:44 +00:00
98beda156c Fix part of #35372: distorted strokes when painting zoomed out with a small brush
size. Interpolated mouse coordinates should not get rounded to integers.
2013-05-15 11:16:01 +00:00
10474c324d Fix #35342: multisample antialiasing makes tooltips look blurry. 2013-05-13 13:45:45 +00:00
2e478ca76d change to drag-lock behavior, only use with outliner (this way layers can be changed all at once) 2013-05-13 06:51:13 +00:00
b0e2b63200 fix for toggle drag not working in popups (move layers for eg) 2013-05-13 06:23:50 +00:00
127c39b8a4 Fix for [#35224] Transform Orientation - order inconsistency
Fix turned out to remove as much "manual UI" from 3D view header as possible. Mode selector and all transform manipulators/orientations stuff are now RNA-based UI (leaving basically only edit mesh select modes with custom handlers, as they have some quite specific features).

To achieve this, four main modifications were done:
* enum-operator-generated menus are now MENU (i.e. dropdown lists) in headers too.
* All bit-flag enums expanded in ROW buttons now have a handling consistent with e.g. layers, or what we already have for transform manipulators, i.e. clicking select only one element, shift-click to select multiple ones.
* Consequently, the three RNA booleans manipulators flags are merged into a single bit-flag enum (yes, this is also an API change, though I doubt many scripts use it).
* Now the width of enum-based dropdown lists is computed from longest item name in enum, no more from a dummy place holder string (when no label/name is given).

All this allows to remove some code from 3DView/transform areas, that was actually mostly duplicating RNA/operator one.

Also done a few optimizations here and there (among others, do not pass &numitems to RNA_property_enum_items() when you do not need it, saves at least an iteration over enum items to count them).

Many thanks to Brecht for the reviews!
2013-05-12 13:16:11 +00:00
cda9407177 Bug fix #35307
Popup menus in nodes, with nodes outside window boundary, were clipped very badly, even
causing it to fill entire window.

Now the clip code nicely translates the menu horizontally to be in view.
2013-05-11 15:29:57 +00:00
359edc27d3 style cleanup 2013-05-11 01:06:01 +00:00
00014949c8 Fix #35262: assiging shortcuts from e.g. delete or selection mode menus did not
work anymore. This was due to a bugfix to show missing shortcut keys for e.g. the
mesh > vertices > separate menu. Both should work now.
2013-05-10 23:41:41 +00:00
38391d9a7d Fix #35281: search menu buttons (with an X on the right side to clear) had text
overlapping the X icon if the text was long.
2013-05-10 20:34:35 +00:00
Lukas Toenne
037784d5b5 Fix for #35286, 'Reset to Default Theme' makes some node titlebars go black. These node theme colors were set in init_userdef_do_versions, but missing in ui_theme_init_default. Also adjusted the group input/output colors there to match the colors set in do_versions. 2013-05-10 08:08:29 +00:00
c1f408c058 Partial revert of own commits r56604 and r56603:
* Reverted the changes to code comments, as suggested by Campbell. It makes it more hard to follow.
* Only keep changes to actual UI messages.
2013-05-09 10:03:38 +00:00
b98550590b UI naming consistency:
* DopeSheet -> Dope Sheet. No need to glue the words together. 

Only changed comments and UI strings, no functional changes. Request by Dalai Felinto.
2013-05-08 21:05:52 +00:00
Lukas Toenne
89eb80fb68 Fix for #35253, Cannot animate X, Y, Z values in nodes with vector sub-menu. The "component menu" template used for these socket buttons opens a popup, but this ui function does not support RNA info directly. Setting the uiBut rna pointer directly solves it. 2013-05-08 14:18:09 +00:00
a63be29da3 Fix #35252: Crash with the node placed partially behind the screen
Issue was caused by negative maximal possible text width happening
in label clipping.

Solved by clamping width to 0 if it's negative.
2013-05-08 13:16:39 +00:00
a4634bfe67 code cleanup: ui_but_is_rna_undo --> ui_is_but_rna_undo (ui_is_but_*** is used elsewhere) 2013-05-08 13:00:33 +00:00
a9fb183901 rename BLI_ghashIterator_notDone() -> BLI_ghashIterator_done()
was renamed fairly recently but other similar iterators not negated
	like this, would prefer to keep it as it was
2013-05-08 12:58:11 +00:00
fdc4eea188 use smaller size for uiWidgetTrias.vec 2013-05-08 12:56:11 +00:00
5c4f96af2c code cleanup: use 'const float[2]' where possible. 2013-05-08 12:54:33 +00:00
463f2a43dc revert part of own commit r56476, caused scene unlink button to be removed. 2013-05-04 22:29:33 +00:00
c656174578 fix for mistake in own recent commit, broke operator search (r56465). 2013-05-03 22:43:02 +00:00
91ba6c9ced adjustment to own commit r56463.
when strings use 'PROP_NEVER_NULL' we still want them to show an unlink button.
2013-05-02 21:27:19 +00:00
fe208a895a fix for mistake in own commit r56399, it broke click-dragging to open and select a menu item. 2013-05-02 19:51:32 +00:00
d5b36bf027 fix [#35178] Autoselect-in-list for Vertex Group selection doesn't work.
disallow assigning values that don't exist into a text field with a search-box.
2013-05-02 04:59:52 +00:00
e2e1b0d20d interface: clear red-alert flag when editing a button, confuses and makes it seem the edited value is also wrong. 2013-05-02 04:30:05 +00:00
479b330ac5 don't show an 'X' next to never-null pointer search menus.
also set ShapeKey.relative_key to never-null.
2013-05-02 04:16:41 +00:00
bb89b523e7 Fix compilation in release mode with strict flags 2013-04-30 12:18:09 +00:00
cba25a6d90 fix for an issue raised in [#35154],
the cross icon to clear a field wasn't working within popups.
2013-04-30 02:45:57 +00:00
f9ed2bf9e9 use const vars for UI arrays. 2013-04-30 01:51:25 +00:00
844a59afc2 fix [#35154] Python: UI issues with invoke_props_dialog()
- highlighed buttons that were never pressed could be activated by accident when canceling search popup. 
- canceling a search popup on a popup would close both.
2013-04-30 01:08:55 +00:00
f46e3f0f92 convert macro PASS_EVENT_TO_PARENT_IF_NONACTIVE into a static function. (having flow control in a macro is bad practice), own doing. 2013-04-29 21:44:28 +00:00
cabe929b2a Changes to image draw method options
It's now default to 2D textures, and no AUTO mode at this
moment, since detecting which method is the best not so
simple.

Image drawing could manually be switched to GLSL for tests
and feedback, but for default GLSL is not so much great.

Reason of this is huge images, where operations like panning
becomes dead slow comparing GLSL vs. 2D texture.
2013-04-29 15:50:12 +00:00
a4a2949309 Bug fix:
Labels in UI were not drawing greyed out when disabled.
Bug in post 2.66a commit to make greying out buttons draw much nicer.

User reported Addon menu was not clearly showing disabled Addons anymore.
2013-04-29 08:45:39 +00:00
6b170dcfd7 fix for reset brushes curve setting a flipped curve 2013-04-28 20:51:44 +00:00
8069d1ad1a "Bug" & usability fix, own collection.
Color Pickers in Blender support precision editing with holding Shift key.
Unfortunately, on first click the picker cursor moves to the mouse position,
making the precision dragging quite useless.

Now, if you hold Shift, the picker editing will only apply the delta motion
of your mouse drags, making it much nicer for fine tuning of color grades
in Sequencer or Compositor.
2013-04-27 12:54:45 +00:00
2516497ca2 Fix two more high DPI / retina draw issues with running jobs in info header and
the node tree name in the node editor.
2013-04-24 23:09:29 +00:00
2043d801e8 Fix #34806: rigid body world settings were not copied with a full scene copy.
Now copying a scene will also duplicate groups that consist entirely of objects
that are duplicated with the scene. The rigid body world will then also pointers
to these new groups.
2013-04-24 23:09:25 +00:00
e5a968276e fix [#35055] Crash in Edit Source feature for multilevel menus
dont show the option when operating on a menu since its not supported.
2013-04-23 15:22:22 +00:00
0d14a1414c fix for UI annoyance with popups (such as new image popup) opening their menus to the right of the button. 2013-04-22 22:32:42 +00:00
5580b56876 Bugfix [#34836] Crash when driver variable has path == 'data'
Most of the places which relied on RNA_path_resolve() did so believing that if
it returned true, that it had found a valid property, and that the returned
pointer+property combination would be what the path referred to. However, it
turns out that if the property at the end of the path turns out to be a
"pointer" property (e.g. "data" for Object.data), this would automatically
become the pointer part, while the prop part would be set to null. Hence, if a
user accidentally (or otherwise) specifies a path for the single-property driver
variable type like this, then Blender would crash.

This commit introduces two convenience functions - RNA_path_resolve_property()
and RNA_path_resolve_property_full() - which mirror/wrap the existing
RNA_path_resolve() functions. The only difference though is that these include a
check to ensure that what was found from resolving the path was in fact a
property (they only return true iff this is the case), and make it explicitly
clear in the name that this is what they will do so that there's no further
confusion. It is possible to do without these wrapper functions by doing these
checks inline, but the few cases that had been patched already were pretty
hideous looking specimens. Using these just make it clearer and simpler for all.

I've also beefed up the docs on these a bit, and changed these to using bools.
2013-04-22 13:22:07 +00:00
ed8b199ac5 UI drawing fix:
Wrongly replaced a "&" with "|" for a define. That made node headers in node editor
draw too dark. Also made header for default node not use alpha.

In general this drawing is not very good - it gets too transparent and dark.
Needs nicer AA function in interface, will be done later.
2013-04-19 15:02:37 +00:00
e430ee20d5 More fix (cleanup) to r56063: remove call to RNA_create_pointer, it has already been called by uiButGetOperatorPtrRNA() if needed.
(I thought it would also copy idproperties, but as it does not...).
2013-04-19 13:03:30 +00:00
c4dbd8bc49 fix for crash in r56063, was just missing an ID property copy (which menu does) 2013-04-19 12:14:15 +00:00
Lukas Toenne
0b0abfe6fb Fix for #35015, Alpha input in color selectors was showing 0 precision. Probably caused by r55910. The NUMSLI button now needs either -1 or an explicit precision value in a2. 2013-04-18 12:43:30 +00:00
bde6a939e6 View2D could potentially divide stuff by zero, giving bad matrices. 2013-04-18 10:22:42 +00:00
dfa30f8207 Bug fix #34943
With extreme narrow scaled editors, the slider/mask code in View3d could deliver
zero sized or invalid window matrices.

Needs confirmation from Sergey if it works :)
2013-04-18 10:10:58 +00:00
093f95afaa Bug fix #34868
Pulldown menus with long shortcut text labels got clipped badly occasionally.
Made the offset follow DPI better.
2013-04-18 08:51:07 +00:00