Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gaffer 0.61.1.2 #38

Merged
merged 123 commits into from
Jan 18, 2022
Merged

Gaffer 0.61.1.2 #38

merged 123 commits into from
Jan 18, 2022

Conversation

ericmehl
Copy link
Member

  • Browsing UNC paths in a file dialog is now supported.
  • Fixed regression where scene paths chosen from a path widget or dialog would leave out the leading slash.
  • Showing / hiding hidden files are now supported on Windows.

ericmehl and others added 30 commits January 14, 2022 15:06
- Inkscape on Windows is likely installed in "C:\Program Files" - the space in the directory name requires quoting to be run
- Arnold stores ai.lib in the `lib` directory
- OpenGL uses opengl32 as the library name
- Python stores libraries in `libs`
- Opening the file in text mode on Windows generates an error during hashing : "UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 129: character maps to <undefined>"
- override Process::current() check in FileSystemPathPlug
"resource" module is not available on Windows and it appears the best native Python method of getting MaxRSS is through the pywin32 extension which would introduce a new dependency. Using a subprocess command and parsing the output is a simple alternative since performance is not critical here.
- AST is not available on Windows without a patched, customized Python build.
- This comes from the experimental implementation in johnhaddon@c817cf6
- Note that it introduces a performance regression for loading scripts vs. the AST implementation.
- Windows does not have `rand_r` function, but `rand` is thread safe, so we use that on Windows only
- Windows uses file attributes to mark files and directories as hidden, so a MatchPatternPathFilter is unsuitable.
…pectiveCamera`

- On Windows, IECoreGL does not export `PerspectiveCamera` because it isn't used. This causes an `unresolved external symbol` linker error.
- `toGLCameraConverter` only converts to `IECoreGL::Camera`, so this is a safe comparison to make.
- Windows only supports symlinks when the user is an admin or they have enabled developer mode. Most users don't have admin rights, and developer mode has additional implications that may not be desirable. We copy the symlink source when building to ensure the files have the correct content.
- Note that builds running on Github workflows are running as admin, so symlinks are correctly made. Testing for the existence of the source file ensures we don't attempt to copy bogus source files.
- Needed for MSVC to see the declaration of `boost::intrusive_ptr_release`
- Solves build error similar to:
    - error C3861: 'intrusive_ptr_release': identifier not found
    - intrusive_ptr.hpp(98): note: 'intrusive_ptr_release': function was not declared in the template definition context and can be found only via argument-dependent lookup in the instantiation context
    - intrusive_ptr.hpp(97): note: while compiling class template member function 'boost::intrusive_ptr<Gaffer::PathFilter>::~intrusive_ptr(void)'
    - path.h(76): note: see reference to function template instantiation 'boost::intrusive_ptr<Gaffer::PathFilter>::~intrusive_ptr(void)' being compiled
    - path.h(231): note: see reference to class template instantiation 'boost::intrusive_ptr<Gaffer::PathFilter>' being compiled
- Use `check_call` functionality of properly escaping arguments to avoid problem with spaces in Inkscape path.
- `universal_newlines` offers better handling of encoding, and a clearer path to using the `text` argument when Python 2 support is dropped.
- On Windows, subprocess can't modify `PATH` using `env`
- See Warning about locating the executable. https://docs.python.org/3/library/subprocess.html#popen-constructor
- The `INSTALL` override used on Windows for installing symlinked files can only handle files, not directories.
@ericmehl ericmehl merged commit 593b4cb into hypothetical-inc:0.61.1.2 Jan 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants