Browse Source

tform: Change `MouseWatcher::get_mouse()` to return copy of LPoint2

Instead of a reference, which is very unintuitive and a common stumbling block for comparisons
rdb 3 years ago
parent
commit
76b9df0e53
2 changed files with 3 additions and 6 deletions
  1. 2 5
      panda/src/tform/mouseWatcher.I
  2. 1 1
      panda/src/tform/mouseWatcher.h

+ 2 - 5
panda/src/tform/mouseWatcher.I

@@ -34,12 +34,9 @@ is_mouse_open() const {
  * It is only valid to call this if has_mouse() returns true.  If so, this
  * It is only valid to call this if has_mouse() returns true.  If so, this
  * returns the current position of the mouse within the window.
  * returns the current position of the mouse within the window.
  */
  */
-INLINE const LPoint2 &MouseWatcher::
+INLINE LPoint2 MouseWatcher::
 get_mouse() const {
 get_mouse() const {
-#ifndef NDEBUG
-  static LPoint2 bogus_mouse(0.0f, 0.0f);
-  nassertr(_has_mouse, bogus_mouse);
-#endif
+  nassertr(_has_mouse, LPoint2(0, 0));
   return _mouse;
   return _mouse;
 }
 }
 
 

+ 1 - 1
panda/src/tform/mouseWatcher.h

@@ -67,7 +67,7 @@ PUBLISHED:
 
 
   INLINE bool has_mouse() const;
   INLINE bool has_mouse() const;
   INLINE bool is_mouse_open() const;
   INLINE bool is_mouse_open() const;
-  INLINE const LPoint2 &get_mouse() const;
+  INLINE LPoint2 get_mouse() const;
   INLINE PN_stdfloat get_mouse_x() const;
   INLINE PN_stdfloat get_mouse_x() const;
   INLINE PN_stdfloat get_mouse_y() const;
   INLINE PN_stdfloat get_mouse_y() const;