Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-26Cleanup: spellingCampbell Barton
2020-02-17Fix many typos and other issues in UI messages.Bastien Montagne
2020-02-15GHOST: Init New Windows with a closer theme colorAaron Carlisle
The user theme is loaded after window creation so we should create the window with a color that at least matches the default theme. Differential Revision: https://developer.blender.org/D6858
2020-02-15Cleanup: work around clang-format differences between versionsBrecht Van Lommel
Ref T73747
2020-02-15Fix incorrect enum in GHOST testCampbell Barton
2020-02-14Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.Ray Molenkamp
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly enforced. This mode is available on MSVC 15.5+ [1] This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process. - Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour. - Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard. - Ghost had some scoping issues regarding uninitialized variables and goto behaviour Second landing of this patch, earlier commit was reverted due to some compiler configurations having slipped though testing [1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance Differential Revision: https://developer.blender.org/D6824 Reviewed By: brecht
2020-02-13Revert "Cleanup/MSVC: Enable C++ conformance mode on compiler versions that ↵Ray Molenkamp
support it." It is breaking compilation on some configurations, revert for now while i see what is wrong. This reverts commit 9fe469c110940af5d2525158305d5d365bd15276.
2020-02-12Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.Ray Molenkamp
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly enforced. This mode is available on MSVC 15.5+ [1] This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process. - Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour. - Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard. - Ghost had some scoping issues regarding uninitialized variables and goto behaviour [1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance Differential Revision: https://developer.blender.org/D6824 Reviewed By: brecht
2020-02-11Fix T70039, T68707: issues when opening .blend file from Finder on macOSYevgeny Makarov
* Missing close dialog displayed to warn about unsaved changes. * No reaction when the file was opened on a different desktop. Differential Revision: https://developer.blender.org/D6765
2020-02-11Fix T64024: monitor/fullscreen switching on macOS shows red line artifactsYevgeny Makarov
2020-02-10Cleanup: spellingCampbell Barton
2020-02-02Cleanup: clang-formatCampbell Barton
2020-01-31Merge branch 'blender-v2.82-release'Brecht Van Lommel
2020-01-31Fix T64024: fullscreen switching on macOS shows red line artifactsYevgeny Makarov
Specifically, this happened when automatically hiding and showing of the menu bar and dock was enabled in the system preferences. Differential Revision: https://developer.blender.org/D6710
2020-01-31Cleanup: enforce immutability through const, instead of a commentNicholas Rishel
Differential Revision: https://developer.blender.org/D6504
2020-01-28macOS: add trackpad smart zoom event supportYevgeny Makarov
This is done with two-finger double tap on trackpads, and is usually used to zoom into an element under the cursor. It can now be used for toggling local view in the 3D viewport. Differential Revision: https://developer.blender.org/D6588
2020-01-28Linux: update EGL context code to fully work, including offscreen renderingChristian Rauch
This is a step towards Wayland and headless rendering support, using EGL instead of GLX. The EGL backend is not enabled by default, it can be tested using WITH_GL_EGL=ON. Differential Revision: https://developer.blender.org/D6585
2020-01-27UI: Win32 - Restore Minimized App On WM_CloseHarley Acheson
Changes needed for Windows 10 to restore and show close dialog from minimized state. https://developer.blender.org/D5107 Reviewed by Brecht Van Lommel
2020-01-27Merge branch 'blender-v2.82-release'mano-wii
2020-01-27Fix part of T65404: quit dialog doesn't show if Blender is minimizedYevgeny Makarov
This solves the problem for macOS and Linux, but not Windows yet. Differential Revision: https://developer.blender.org/D6673
2020-01-23Merge branch 'blender-v2.82-release'Sergey Sharybin
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2020-01-21GHOST: bundle tablet data with GHOST eventBrecht Van Lommel
Previously the window manager would receive the GHOST event and then query the latest tablet data from the window to go along with it. If multiple events were queued, it would then use too new tablet data for handling older events. Fixes T62565: tablet pressure not working on macOS with some devices
2020-01-16Fix T71952, T70125: Blender Linux crash on startup with some tabletsBrecht Van Lommel
It's not certain this fixes the issue since I can't reproduce the crash, but the code was wrong in any case. Thanks to Ray Molenkamp and Anonymous for finding this.
2019-12-23Fix T72382: Arrow keys fail in search menuJean First
2019-12-10GHOST: add support for application/menu keyHarley Acheson
Support the application key on Linux & Windows.
2019-12-06Fix T71342: macOS does not always use the discrete GPU for BlenderBrecht Van Lommel
This reverts commit 3d9cc4d3f174d01c96d65a4e9cd751699bcb8744. The commit message and intent behind the commit is unclear. We generally want the discrete GPU to be used for best performance, not the integrated GPU.
2019-12-06Cleanup: clang-formatCampbell Barton
2019-12-06Fix T72118: Enable Windows 10 Non-client DPI ScalingHarley Acheson
Enables Windows 10 feature that automatically adjusts non-client area (title bar) on high-DPI displays. Differential Revision: https://developer.blender.org/D6370 Reviewed by Brecht Van Lommel
2019-12-05Cleanup: Windows Manifest usage.Ray Molenkamp
We had a manifest file, but it was seemingly not used, some settings were done using linker pragmas, some of them visual studio would set by default for us, others where not set at all. This patch changes: - Single manifest file where we can maintain all settings in a single location, removal of any linker pragmas related to the manifest. - Compatibly settings for win vista - win10, without this any call to any of the GetVersion and related functions (GetVersionEx, VerifyVersionInfo, IsWindowsXxxx) will by default say we are on vista and OS specific optimizations in external libraries may be missed. -Rather than having it in the .RC file in an #ifdef which may or may not trigger depending on the build tool used, we tell cmake to treat it as a source file and it will do the right thing for both the ninja and visual studio generators. Differential Revision: https://developer.blender.org/D6136 Reviewers: brecht
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-24Cleanup: spelling, repeated wordsCampbell Barton
2019-11-18GHOST: Only spam about X11 errors when using --debug-ghostSergey Sharybin
This commit adds a new command line argument --debug-ghost and makes it so X11 errors happening during context initialization are only printed when this new flag is sued. There is no need to flood users with errors when their GPU is not supporting latest OpenGL version. Or, at a very minimum, the error must be more meaning full. Differential Revision: https://developer.blender.org/D6057
2019-11-16Fix a bug in the T34039 hack in case when a modifier key is not mapped.Alexander Gavrilov
In order to recover from a transient Focus Out - Focus In disruption in the middle of a shortcut, which can be caused by certain window managers, Blender has code that checks which modifier keys are pressed after Focus In and restores the modifier state based on that. If one of the Ctrl, Shift, Alt, Super keys is not mapped anywhere in the active keyboard layout, XKeysymToKeycode returns the invalid zero keycode, and reading the key state produces garbage, which can cause an invalid modifier state. Check the return value to avoid this.
2019-11-15Merge branch 'blender-v2.81-release'Julian Eisel
2019-11-15Fix T70991: Maximized file browser hides file name bar on WindowsJulian Eisel
`WS_CHILD` is a different kind of child window that what we define as child window. See http://forums.codeguru.com/showthread.php?491604. Setting this style flag seems to mess things up a bit in our configuration. The name bar is actually being overlapped by the Windows task bar then. Not totally sure why this happens, but I think it's because windows with the `WS_CHILD` style are positioned relative to the parent, not the desktop (screen without taskbar). So it uses the full space available when maximized, which isn't clipped by the taskbar anymore.
2019-11-05Merge branch 'blender-v2.81-release'Brecht Van Lommel
2019-11-05Fix build errors in GHOST SDLBrecht Van Lommel
2019-11-01Windows: Replace deprecated SHGetFolderPathWmano-wii
No functional change. Differential Revision: https://developer.blender.org/D6172
2019-10-29macOS: Allow NSView subclasses to accept first mouse event.Stefan Werner
This brings the behavior in line with Windows and Linux. Going between multiple windows now doesn't use the first click only to change focus but also allows Blender to process those events.
2019-10-28CMake: add missing headers, use space before commentsCampbell Barton
2019-10-21Cleanup: styleCampbell Barton
2019-10-10Cleanup: clang-format, spellingCampbell Barton
2019-10-09GPU: show more descriptive labels on unsupported GPU dialogBrecht Van Lommel
Thanks to Ray Molenkamp for the help with the Windows implementation. Fixes T70521 Differential Revision: https://developer.blender.org/D6023
2019-10-07Cleanup: clang-formatCampbell Barton
2019-10-04Fix: Headless buildRay Molenkamp
2019-10-04GPU: Platform Support LevelJeroen Bakker
Adds a check when starting blender if your platform is supported. We use a blacklist as drivers are updated more regular then blender (stable releases). The mechanism detects if the support level changed or has been validated by the user previously. Changes can happen due to users updating their drivers, but also when we change the support level in our code base. When the user has seen the limited support level message it is saved in the user config. It would be better to have a system specific config section, but currently not clear what could benefit from that. When the platform is unsupported or has limited support a dialog box will appear including a link to our user manual describing what to do. **Windows** Windows uses the MessageBox that is provided by the windows kernel. **X11** We use a very lowlevel messagebox for X11. It is very limited in use and can be fine tuned when needed. **SDL/APPLE** There is no implementation for SDL or APPLE at this moment as the platform support feature targets mostly Windows users. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5955
2019-10-03UI: Register File Browser as Child/Dialog-Window for the OSJulian Eisel
For many users, this will make the File Browser window behave more like what they would expect. It addresses the issue of the File Browser becoming hidden behind the main window by clicking anywhere in the latter. It communicates the interruptive, but temporary nature of the operation a bit better. Further, on tiling window managers the File Browser now opens as floating by default, like in other applications. Note that this also makes sure the File Browser is always opened as separate window, so it doesn't re-use the Preferences, or any other temporary window anymore. This seems to have been a common annoyance. More concretely, this makes the File Browser window behave as follows: * Stays on top of its parent Blender window, but not on top of non-Blender windows. * Minimizes with its parent window * Can be moved independently * Doesn't add an own item in task bars * Doesn't block other Blender windows (we may want to have this though) * Opens as floating window for tiling window managers (e.g. i3wm/Sway) Further notes: * When opening a file browser from the Preference window (or any temporary window), the main window, as the file browsers parent is moved on top of the Preferences, which makes it seem like the Preferences were closed. This is the general issue of bad secondary window handling as window activation changes. I made it so that the window is moved back once the file browser is closed. This behavior is confusing and would be nice to avoid. It's a separate issue though. * On most window managers on Linux the temporary window can not be minimized and maximized, they disable that for dialog windows. * On Windows and macOS, only minimizing is disabled, as there is no decent way yet to restore a window if it's not shown in the taskbar. Reviewed By: Brecht van Lommel, Campbell Barton, William Reynish Edits and macOS implementation by Brecht. Differential Revision: https://developer.blender.org/D5810 Part of T69652.
2019-10-03Fix T70125: crash on startup in Linux with some tablet types connectedBrecht Van Lommel
2019-10-02Fix T70252: Reverting to macOS 10.11 compatible API.Stefan Werner