Commit Graph

3096 Commits

Author SHA1 Message Date
629403fb51 WM: remove duplicate ui-list functions
Missed when moving into own file.

Caused issues on MSVC, not GCC.
2018-07-26 14:47:48 +10:00
2e12114f3b Merge branch 'master' into blender2.8 2018-07-26 14:45:14 +10:00
dbd79c097c WM: Add operator property poll callback
This allows operators to filter out properties from the
auto-generated draw functions.

Some custom draw functions can move to using this.
2018-07-26 11:53:53 +10:00
d8514482fe WM: keymap utility to set enum from a key range 2018-07-25 11:00:03 +10:00
7f7e51161f Fix T56079: crash with startup.blend saved in sculpt/paint modes.
This reverts commit 81a93df6d2, it is not safe
to handle initialization for startup.blend differently. Instead fix the root
issue of the preview icon data structures not being initialized in time.
2018-07-24 12:43:21 +02:00
c4803759a2 Fix T55245: undo with multiple windows and view layers not working correct. 2018-07-24 11:27:05 +02:00
8876e3aae2 Fix assert when loading file with multiple windows opened
... or when loading a file when having more windows opened than the file
itself.
2018-07-23 17:44:34 +02:00
b3b4b9fb8c Fix WITH_HEADLESS build. 2018-07-20 15:25:47 +02:00
94722121e5 Fix MSVC compilation error in a less hacky way 2018-07-19 17:20:48 +02:00
44c7a7cf8b Fix compilation error with MSVC 2018-07-19 17:18:19 +02:00
5037dd8abd GPU: Add GC to FBOs and UBOs and centralize all GCs
GPUFrameBuffers were being free when no context was attached or in the
wrong gl context. This make sure this does not happen again.

You can now safely free any gl resource from any thread (well as long as
it's not used anymore!).
2018-07-19 16:13:15 +02:00
8cd7828792 GWN: Port to GPU module: Replace GWN prefix by GPU 2018-07-18 11:49:15 +02:00
247ad2034d GWN: Port to GPU module: Move files to GPU
This does not include all the struct and type renaming. Only files were
renamed.

gwn_batch.c/h was fusioned with GPU_batch.c/h
gwn_immediate.c/h was fusioned with GPU_immediate.c/h
gwn_imm_util.c/h was fusioned with GPU_immediate_util.c/h
2018-07-18 00:17:57 +02:00
de2f1c64fe Merge branch 'master' into blender2.8 2018-07-16 14:36:59 +02:00
ab9bd557ad Cleanup: doxy comments 2018-07-15 20:34:24 +02:00
57ab7daa2a GPU_matrix: use Blender's naming conventions
Thanks to @sergey for review
2018-07-15 15:34:13 +02:00
b457cae397 Cleanup: use variable names based on term gizmo 2018-07-15 14:35:33 +02:00
09431033e9 Cleanup: split GPU_batch
Split out presets and utilities for creating batches.
These functions are quite specialized and not related to typical usage.
2018-07-15 10:51:49 +02:00
5ebebcfbff WM: rename manipulator to gizmo internally 2018-07-14 23:49:00 +02:00
d9e79b0756 Add include missing in release builds 2018-07-13 20:22:20 +02:00
cca87ccc75 UI: remove space/region from popover args
Instead use global panel-type list.
2018-07-13 19:16:35 +02:00
af0fc66049 WM: register global list of panel types
Allows simple lookups for popovers.
2018-07-13 19:15:13 +02:00
6845306c68 Correct recent menu split
Somehow duplicate API didn't error when linking.
2018-07-13 18:56:59 +02:00
4705682151 Merge branch 'master' into blender2.8 2018-07-13 12:52:10 +02:00
f6367ecfb6 Cleanup: operator type API, header 2018-07-13 12:47:04 +02:00
2ead3f0765 Merge branch 'master' into blender2.8 2018-07-13 12:38:46 +02:00
8ff3f7f601 Cleanup: move WM type registration into own files
Type registration is mostly boiler plate logic,
which can be separated from other API's.
2018-07-13 12:20:42 +02:00
6f8a141fad Merge branch 'master' into blender2.8 2018-07-12 21:43:51 +02:00
e77d2b4e3f Cleanup: remove legacy mesh save support
This was used for saving files for Blender 2.6x.
2018-07-12 21:35:57 +02:00
5cdfb74dd8 Keymap: add utility function for panel popups 2018-07-12 11:43:37 +02:00
39b1842335 Fix T55882: crash closing user preferences window in some cases. 2018-07-10 12:33:18 +02:00
8373544df3 Fix T55776: crash with multiple windows and reload new.
There were a number of cases where immActivate() and immDeactivate() could
get out of sync, causing crashes due to using a freed mutex lock. Refactor
the code now to hopefully avoid this always.
2018-07-09 23:57:19 +02:00
113b053d5b WM: add utility function to refresh status bar 2018-07-09 18:14:41 +02:00
edb78d528b Keymap: Remove AccentGrave for each
Use only F3 for search since this is a common enough key
and it turns out having AccentGrave access on non US layouts is
too unreliable.
2018-07-09 14:55:31 +02:00
53c24bf97c Keymap: macos only operator search key: Cmd-F
Add Cmd-F for apple because it's not easily available on some systems.
2018-07-09 14:06:51 +02:00
32396b3164 WM: support for filtering modal keymap items
Modal keymap display often shows items which aren't used,
add a poll funciton to hide these from the status bar.
2018-07-09 08:39:09 +02:00
aed82dafff Icons: support for drawing event icons
Use for drawing modal operator header keys.
2018-07-08 22:17:42 +02:00
6d72d3c862 Cleanup: abbreviate unsigned types (editors, wm) 2018-07-08 12:49:36 +02:00
74fd17e9d7 UI/Python: rename Lamps to Lights, to follow more standard terminology.
Internally it's still mostly named lamps, though some modules like Cycles
were already calling them lights.
2018-07-06 20:06:09 +02:00
63f3e1ac7c Merge branch 'master' into blender2.8 2018-07-06 17:16:23 +02:00
22150eb409 Animation player: Ensure new frames are displayed while dragging mouse
Thanks Campbell for review!
2018-07-06 17:15:40 +02:00
81a93df6d2 Fix crash when startup file has an image in it
This fixes an issue introduced in d192d72312.
When starting up, the UI hasn't been fully initialised yet, and calling
wm_event_do_depsgraph() can trigger icon updates when the startup file
contains an image, causing a segfault due to a not-yet-initialised ghash
for the icons.
2018-07-06 13:52:35 +02:00
ccef83b2fb Merge branch 'master' into blender2.8
Conflicts:
source/blender/editors/screen/screen_edit.c
2018-07-06 12:30:48 +02:00
3cc2a9b934 Fix T55581: kill running (render) jobs when deleting a scene
also fixed passing WM_JOB_TYPE_ANY to WM_jobs_kill_type()

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3498
2018-07-06 11:58:13 +02:00
d192d72312 Ensure dependency graph exists before initializing editors
Will help entering sculpt mode on file load by making it possible
to fully initialize sculpt session. The goal is to make sure PBVH
exists since the very beginning of file open (missing PBVH is a
reason why object is not visible before first stroke).

This is not enough yet to fully solve the issue, since entering
sculpt mode tags object for Copy-on-Write update, which frees
PBVH.
2018-07-05 16:56:47 +02:00
397d088611 UI: show modal operator keymaps in the status bar
This is work in progress, transform keymap especially
needs some filtering on it's keymap.
2018-07-05 12:27:15 +02:00
53c63db2ee Fix issue with closing child windows in recent changes. 2018-07-04 19:33:15 +02:00
c43443d530 Workspaces: store view layer per main window, instead of per workspace.
It was a bit odd that the scene was stored per window but not the view
layer. The reasoning was that you would use different view layers for
different tasks. This is still possible, but it's more predictable to
switch them both explicitly, and with child window support manually
syncing the view layers between multiple windows is no longer needed
as often.
2018-07-04 18:40:33 +02:00
4e2228525f Workspaces: add main and child windows.
* Main windows show a topbar and statusbar, and select a workspace and
  scene. They are created with Window > New Main Window.

* Child windows do not show a topbar or statusbar. These follow the
  workspace and scene of their parent main window. Created with Window >
  New Window or View > Duplicate Area into New Window.

* The purpose of this change is to support multi monitor setups where you
  just want to put more editors on the other monitors. Without multiple
  topbars and statusbars, working within a single workspace and scene.
  Creating multiple main windows is intended to be a concious choice to
  do different tasks in different workspaces and scenes.

* Note these changes do not currently affect how the operating system
  treats the windows.

* When changing the workspace, the layout in all child windows changes.
  This makes sense if we consider child windows to be just a way to
  extend the main window across more monitors. In some case it may be
  useful to keep the same layout though, we can add an option for this
  depending on user feedback.
2018-07-04 18:40:33 +02:00
2bef8ca1b8 Cleanup: pass window to listeners, instead of screen + workspace. 2018-07-04 18:40:33 +02:00