24269 Commits

Author SHA1 Message Date
rdb
c59b91f503 Merge branch 'release/1.10.x' 2020-02-23 14:53:16 +01:00
rdb
18bb8a5559 pgraph: fix for additional columns in munge_points_to_quads()
Fixes #870
2020-02-23 14:48:57 +01:00
rdb
54cf7b9a5d x11: add labels to various buttons returned from get_keyboard_map()
This allows identifying, eg. the é button on French keyboard (which is at the location where 2 is on QWERTY)

This is not intended to be complete.  One must still choose what to display depending on the label and the mapped button handle (if any).
2020-02-23 14:04:42 +01:00
rdb
e2d6c4cb30 x11: don't include numpad keys in get_keyboard_map()
This is a hack until we introduce separate ButtonHandles for numpad keys
2020-02-23 14:02:59 +01:00
rdb
f57cd186bb makewheel: fix location of libpythonX.Y.so on Debian/Ubuntu 2020-02-23 10:20:38 +01:00
rdb
f1af6c80ff test_wheel: fix for Python 3.4
[skip ci]
2020-02-22 14:43:52 +01:00
kamgha
c2866ea4ed Fix includes for Windows on case-sensitive filesystems
Closes #866
2020-02-22 12:55:45 +01:00
rdb
8ff2064fe5 makepanda: auto-detect manylinux2010 and manylinux2014 platforms 2020-02-22 12:10:55 +01:00
rdb
4ef8e5228e interrogate: fix ability to return ReferenceCount-like classes
Classes with virtual ref(), unref() and get_ref_count() methods, like RecorderBase, could not be returned by PT() from methods because they didn't inherit from ReferenceCount.  However, classes do not need to inherit ReferenceCount to be able to be tracked by a PointerTo, and defining an abstract base class with pure virtual ref()/unref()/get_ref_count() is a way to avoid dual inheritance of ReferenceCount.
2020-02-22 12:10:55 +01:00
Mitchell Stokes
391578ea1f build_apps: Fix running with Pip 20
Fixes #854
Closes #856
2020-02-22 12:10:49 +01:00
rdb
d0337b8233 x11: implement fallback relative mouse mode using XInput2
It's not "real" relative mouse like DGA, but it's good enough: it confines the cursor to the window and continues to provide relative mouse movement regardless of the position of the cursor in the window.

This gets relative mouse mode working under wayland, where cursor warping is not supported; see #746.
2020-02-20 12:19:36 +01:00
rdb
fda898807a Merge branch 'release/1.10.x' into master 2020-02-10 13:52:05 +01:00
rdb
59608c9079 makepanda: force flex step for dcParser to occur after bison step
This fixes an erratic build failure reported by the Travis GCC builder.
2020-02-10 13:48:38 +01:00
Fireclaw
5d93237386 dgui: fix regression in DirectScrolledFrame (see #699)
Made initialization ignore the setScrollBarWidth function
Respect the length/height of the scrollbar and only change the actual
width in the setScrollBarWidth function
Added a very basic unittest class for the scrolledFrame

Closes #864
2020-02-10 13:17:05 +01:00
rdb
3ac504ec16 char: attempt to make Character class thread-safe 2020-02-10 12:49:45 +01:00
rdb
141482fc53 char: remove deprecated overload of Character::merge_bundles() 2020-02-10 12:01:53 +01:00
rdb
21f1743c55 pgraph: remove unused method declarations from PandaNode 2020-02-09 12:04:46 +01:00
Leandro (Cerberus1746) Benedet Garcia
5f7809469c general: removed all WIN32, WIN32_VC and friends 2020-02-05 22:45:03 -07:00
rdb
2b632c8e20 cocoa: use resolved filename to load cursor image (thanks treamous) 2020-02-01 09:49:35 +01:00
rdb
edc31ce9ca glgsg: change ultimate profile from vp40/fp40 to glslv/glslv
vp40 is just not "ultimate" enough.  We can alternatively pick gp5vp/gp5fp if glslv/glslf is inadequate.
2020-01-31 11:12:28 +01:00
rdb
1baef394b6 Merge branch 'release/1.10.x' 2020-01-31 11:08:43 +01:00
rdb
e13e9851f2 shader: //Cg profile should only affect the current shader
Fixes #863
2020-01-31 11:01:44 +01:00
CYBERDEViLNL
dbb65549ea bullet: Fix BulletHeightfieldShape::fillin
Closes #860
2020-01-31 10:59:26 +01:00
rdb
89f1a0e63c shader: separate shader matrix input cache from ShaderMatSpec
If multiple ShaderMatSpec entries use the same state matrix, this should result in a reduction in the number of times that state matrix is fetched.  This is especially so for arrays, which are now fetched once rather than once for every item.

This is the first step towards trying to solve #846.
2020-01-25 19:26:50 +01:00
rdb
6c66c8618d tests: add unit test for passing plain mat3/mat4 to GLSL shader 2020-01-25 17:00:48 +01:00
rdb
0300ac8d3b glgsg: hack fix for p3d_TextureMatrix[] error on macOS (#846) 2020-01-22 15:43:26 +01:00
rdb
508444d27f tests: use unique, non-interned keys for property refcount tests
There is an intermittent build failure and I suspect it's because the keys are too generic and are interned, and thus may have their refcount incremented or decremented by some other (background?) process.
2020-01-22 12:01:27 +01:00
rdb
b272af8bbf Merge branch 'cmake' 2020-01-22 11:20:51 +01:00
rdb
26b86dfe5f Merge branch 'release/1.10.x' 2020-01-22 11:20:24 +01:00
Sam Edwards
1046b122a3 CMake: Fix Interrogate macro sometimes passing -D'' 2020-01-22 02:36:41 -07:00
rdb
b573cc3587 cocoa: fix compilation issues with new NSCursor hotspot code
See #849
2020-01-22 09:47:58 +01:00
rdb
6f17a9e36a makepanda: disable plug-ins in Config.prc that weren't compiled
This also disables the plug-ins if we are building them statically.
2020-01-22 09:16:02 +01:00
rdb
bd3dd63cbe actor: only remove control effects of given animations in unloadAnims
The previous behavior was for unloadAnims() to remove the control effects from all animations, even when only one animation was passed in, which is unintuitive behavior.

Fixes #853
2020-01-22 08:40:50 +01:00
Sam Edwards
f5b6761128 CMake: Don't build socket_tcp_ssl.* anymore (deleted upstream) 2020-01-21 18:25:17 -07:00
Sam Edwards
d0b6e2275d CMake: Remove IS(_NOT)_MINSIZE_BUILD 2020-01-21 18:15:28 -07:00
Sam Edwards
36e06236a9 CMake: Remove IS(_NOT)_DEBUG_BUILD 2020-01-21 17:42:17 -07:00
Sam Edwards
68f1083dbf CMake: Make HAVE_VIDEO4LINUX dependent on Linux 2020-01-21 17:07:04 -07:00
rdb
68a4031b22 pnmimagetypes: unexpose PNMFileType* classes
They are not exposed to Python, and I cannot think of a good reason to use these classes directly in C++ code.

Call init_libpnmimagetypes() to register these classes with the PNMFileTypeRegistry instead.
2020-01-21 15:38:17 +01:00
rdb
876cb60220 char/chan: clean up MovingPartScalar/CharacterSlider constructors
These changes are a follow-up to 8b6f82256e31e7840c60775c8f2f9e1084aae972 but could not be made on that branch due to ABI compatibility reasons.
2020-01-21 15:34:33 +01:00
rdb
05d5bac598 Merge branch 'release/1.10.x' into incoming 2020-01-21 15:34:25 +01:00
rdb
e5b7760b85 makepanda: do not pass -Wl,--exclude-libs on macOS for OpenSSL
Part two of fix for build regression introduced in e78ce78acf5a8540cf14b57c777f52009f0df212 (see #851)
2020-01-21 15:29:12 +01:00
Leandro (Cerberus1746) Benedet Garcia
ffed59679d tests: add more unit tests for vector classes
Closes #826
2020-01-21 15:27:34 +01:00
rdb
2960b67c7a actor: minor style fixes 2020-01-21 15:27:31 +01:00
rdb
6b5c473b8e makepanda: do not pass -Wl,--exclude-libs on macOS
Fixes build regression introduced in e78ce78acf5a8540cf14b57c777f52009f0df212 (see #851)
2020-01-21 15:21:16 +01:00
Donny Lawrence
4f4b14dd2b cocoadisplay: Use hotspot read from .cur files
Previously, the cursor's hotspot defaulted to (0,0). Fixes #845.

Closes #849
2020-01-21 14:53:19 +01:00
Donny Lawrence
17dddeedc4 device: Fix 10.15 segfault on USB hotplug
For some reason, IOHIDDeviceRegisterRemovalCallback() no longer works on
10.15+, so an app will crash once trying to poll a device that doesn't
exist anymore.  Thankfully, there is the alternative solution of using
IOHIDManagerRegisterDeviceRemovalCallback(). This just required a little
rearranging of the callback code, as well as keeping track of the
connection between IOHIDDeviceRefs and IOKitInputDevices so we actually
know which device to remove.

Closes #847
2020-01-21 14:52:01 +01:00
rdb
8222255b3b vrpn: make inline methods that call into VRPN non-inline
This prevents things that link with VRPN and use these VRPN functions from needing to link with VRPN directly.
2020-01-21 14:45:27 +01:00
rdb
e78ce78acf makepanda: don't export symbols of linked static libraries
This results in size savings for thirdparty libraries that are only used once, and a size increase for libraries used more than once (eg. OpenSSL).  More importantly, it prevents conflicts with other versions of the libraries loaded by other Python modules, such as the version of OpenSSL that the hmac module uses.

We need to be careful to only apply this for packages that are either used once, used in a plug-in module, or if we don't need to pass thirdparty library structures across Panda library boundaries.  For example, I haven't done this for Bullet, since the Bullet symbols need to be available through libpandabullet.so due to the fact that pandabullet contains calls to the Bullet libraries in the inline methods.

Fixes #851
2020-01-21 14:35:17 +01:00
rdb
8859ad8c1b makepanda: remove explicit OpenSSL link where it is unneeded
These were probably added before makepanda gained the ability to automatically add dependencies of static libraries when linking statically.

They don't really do any harm--the linker will probably optimize these out automatically--but it's cleaner not to add unused dependencies.
2020-01-21 14:07:36 +01:00
rdb
4819e2ce3a nativenet: drop unused Socket_TCP_SSL
This removes the dependency of libpanda on OpenSSL.
2020-01-20 11:56:27 +01:00