mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
Assorted fixes
This commit is contained in:
parent
08db72a2ca
commit
8d05ef3022
@ -250,7 +250,7 @@ inline static unsigned CountDecimalDigit32(uint32_t n) {
|
||||
}
|
||||
|
||||
inline static void DigitGen(const DiyFp& W, const DiyFp& Mp, uint64_t delta, char* buffer, int* len, int* K) {
|
||||
static const uint32_t kPow10[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000 };
|
||||
static const uint32_t kPow10[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 0, 0, 0, 0, 0 };
|
||||
const DiyFp one(uint64_t(1) << -Mp.e, Mp.e);
|
||||
const DiyFp wp_w = Mp - W;
|
||||
uint32_t p1 = static_cast<uint32_t>(Mp.f >> -one.e);
|
||||
|
@ -6262,7 +6262,7 @@ write_getset(ostream &out, Object *obj, Property *property) {
|
||||
out <<
|
||||
" " << cClassName << " *local_this = NULL;\n"
|
||||
" if (!Dtool_Call_ExtractThisPointer(self, Dtool_" << ClassName << ", (void **)&local_this)) {\n"
|
||||
" return NULL;\n"
|
||||
" return -1;\n"
|
||||
" }\n"
|
||||
" return (Py_ssize_t)" << len_remap->get_call_str("local_this", pexprs) << ";\n";
|
||||
} else {
|
||||
|
@ -172,7 +172,6 @@ void *DTOOL_Call_GetPointerThis(PyObject *self) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
/**
|
||||
* This is similar to a PyErr_Occurred() check, except that it also checks
|
||||
* Notify to see if an assertion has occurred. If that is the case, then it
|
||||
@ -193,7 +192,6 @@ bool _Dtool_CheckErrorOccurred() {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // NDEBUG
|
||||
|
||||
/**
|
||||
* Raises an AssertionError containing the last thrown assert message, and
|
||||
|
@ -16,10 +16,10 @@ else:
|
||||
import cPickle as pickle
|
||||
import thread
|
||||
|
||||
SUFFIX_INC = [".cxx",".c",".h",".I",".yxx",".lxx",".mm",".rc",".r"]
|
||||
SUFFIX_INC = [".cxx",".cpp",".c",".h",".I",".yxx",".lxx",".mm",".rc",".r"]
|
||||
SUFFIX_DLL = [".dll",".dlo",".dle",".dli",".dlm",".mll",".exe",".pyd",".ocx"]
|
||||
SUFFIX_LIB = [".lib",".ilb"]
|
||||
VCS_DIRS = set(["CVS", "CVSROOT", ".git", ".hg"])
|
||||
VCS_DIRS = set(["CVS", "CVSROOT", ".git", ".hg", "__pycache__"])
|
||||
VCS_FILES = set([".cvsignore", ".gitignore", ".gitmodules", ".hgignore"])
|
||||
STARTTIME = time.time()
|
||||
MAINTHREAD = threading.currentThread()
|
||||
@ -1392,7 +1392,12 @@ def PkgConfigGetDefSymbols(pkgname, tool = "pkg-config"):
|
||||
for l in result.split(" "):
|
||||
if (l.startswith("-D")):
|
||||
d = l.replace("-D", "").replace("\"", "").strip().split("=")
|
||||
if (len(d) == 1):
|
||||
|
||||
if d[0] in ('NDEBUG', '_DEBUG'):
|
||||
# Setting one of these flags by accident could cause serious harm.
|
||||
if GetVerbose():
|
||||
print("Ignoring %s flag provided by %s" % (l, tool))
|
||||
elif len(d) == 1:
|
||||
defs[d[0]] = ""
|
||||
else:
|
||||
defs[d[0]] = d[1]
|
||||
|
@ -38,7 +38,7 @@ PUBLISHED:
|
||||
MAKE_SEQ(get_components, get_num_components, get_component);
|
||||
INLINE void set_component(int i, const EggAttributes *attrib);
|
||||
|
||||
MAKE_PROPERTY(components, get_num_components, get_component, set_component);
|
||||
MAKE_SEQ_PROPERTY(components, get_num_components, get_component, set_component);
|
||||
|
||||
INLINE bool triangulate_into(EggGroupNode *container) const;
|
||||
PT(EggCompositePrimitive) triangulate_in_place();
|
||||
|
@ -15,7 +15,7 @@
|
||||
*
|
||||
*/
|
||||
template<class T>
|
||||
INLINE PointerTo<T>::
|
||||
ALWAYS_INLINE PointerTo<T>::
|
||||
PointerTo(To *ptr) : PointerToBase<T>(ptr) {
|
||||
}
|
||||
|
||||
@ -136,7 +136,7 @@ operator = (const PointerTo<T> ©) {
|
||||
*
|
||||
*/
|
||||
template<class T>
|
||||
INLINE ConstPointerTo<T>::
|
||||
ALWAYS_INLINE ConstPointerTo<T>::
|
||||
ConstPointerTo(const TYPENAME ConstPointerTo<T>::To *ptr) :
|
||||
PointerToBase<T>((TYPENAME ConstPointerTo<T>::To *)ptr)
|
||||
{
|
||||
|
@ -58,7 +58,8 @@ class PointerTo : public PointerToBase<T> {
|
||||
public:
|
||||
typedef TYPENAME PointerToBase<T>::To To;
|
||||
PUBLISHED:
|
||||
INLINE PointerTo(To *ptr = (To *)NULL);
|
||||
ALWAYS_INLINE PointerTo() DEFAULT_CTOR;
|
||||
ALWAYS_INLINE PointerTo(To *ptr);
|
||||
INLINE PointerTo(const PointerTo<T> ©);
|
||||
INLINE ~PointerTo();
|
||||
|
||||
@ -119,7 +120,8 @@ class ConstPointerTo : public PointerToBase<T> {
|
||||
public:
|
||||
typedef TYPENAME PointerToBase<T>::To To;
|
||||
PUBLISHED:
|
||||
INLINE ConstPointerTo(const To *ptr = (const To *)NULL);
|
||||
ALWAYS_INLINE ConstPointerTo() DEFAULT_CTOR;
|
||||
ALWAYS_INLINE ConstPointerTo(const To *ptr);
|
||||
INLINE ConstPointerTo(const PointerTo<T> ©);
|
||||
INLINE ConstPointerTo(const ConstPointerTo<T> ©);
|
||||
INLINE ~ConstPointerTo();
|
||||
|
@ -17,7 +17,15 @@
|
||||
template<class T>
|
||||
INLINE PointerToBase<T>::
|
||||
PointerToBase(To *ptr) {
|
||||
reassign(ptr);
|
||||
_void_ptr = (void *)ptr;
|
||||
if (ptr != (To *)NULL) {
|
||||
ptr->ref();
|
||||
#ifdef DO_MEMORY_USAGE
|
||||
if (MemoryUsage::get_track_memory_usage()) {
|
||||
update_type(ptr);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -26,7 +34,16 @@ PointerToBase(To *ptr) {
|
||||
template<class T>
|
||||
INLINE PointerToBase<T>::
|
||||
PointerToBase(const PointerToBase<T> ©) {
|
||||
reassign(copy);
|
||||
_void_ptr = copy._void_ptr;
|
||||
if (_void_ptr != NULL) {
|
||||
To *ptr = (To *)_void_ptr;
|
||||
ptr->ref();
|
||||
#ifdef DO_MEMORY_USAGE
|
||||
if (MemoryUsage::get_track_memory_usage()) {
|
||||
update_type(ptr);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -35,7 +52,10 @@ PointerToBase(const PointerToBase<T> ©) {
|
||||
template<class T>
|
||||
INLINE PointerToBase<T>::
|
||||
~PointerToBase() {
|
||||
reassign((To *)NULL);
|
||||
if (_void_ptr != NULL) {
|
||||
unref_delete((To *)_void_ptr);
|
||||
_void_ptr = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef USE_MOVE_SEMANTICS
|
||||
|
@ -31,6 +31,7 @@ public:
|
||||
typedef T To;
|
||||
|
||||
protected:
|
||||
ALWAYS_INLINE PointerToBase() DEFAULT_CTOR;
|
||||
INLINE PointerToBase(To *ptr);
|
||||
INLINE PointerToBase(const PointerToBase<T> ©);
|
||||
INLINE ~PointerToBase();
|
||||
|
@ -22,8 +22,6 @@
|
||||
#include "pnmReader.h"
|
||||
#include "pnmWriter.h"
|
||||
|
||||
#include "stb_image.h"
|
||||
|
||||
/**
|
||||
* For reading images via the public domain stb_image.h library. This is used
|
||||
* when compiling without support for more specific libraries that are more
|
||||
|
@ -11,16 +11,6 @@
|
||||
* @date 2000-03-01
|
||||
*/
|
||||
|
||||
/**
|
||||
* The default constructor must do nothing, because we can't guarantee
|
||||
* ordering of static initializers. If the constructor tried to initialize
|
||||
* its value, it might happen after the value had already been set previously
|
||||
* by another static initializer!
|
||||
*/
|
||||
INLINE ButtonHandle::
|
||||
ButtonHandle() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a ButtonHandle with the corresponding index number, which may
|
||||
* have been returned by an earlier call to ButtonHandle::get_index().
|
||||
|
@ -25,7 +25,11 @@
|
||||
*/
|
||||
class EXPCL_PANDA_PUTIL ButtonHandle FINAL {
|
||||
PUBLISHED:
|
||||
INLINE ButtonHandle();
|
||||
// The default constructor must do nothing, because we can't guarantee
|
||||
// ordering of static initializers. If the constructor tried to initialize
|
||||
// its value, it might happen after the value had already been set
|
||||
// previously by another static initializer!
|
||||
INLINE ButtonHandle() DEFAULT_CTOR;
|
||||
CONSTEXPR ButtonHandle(int index);
|
||||
INLINE ButtonHandle(const ButtonHandle ©);
|
||||
ButtonHandle(const string &name);
|
||||
|
@ -126,8 +126,10 @@ do_python_callback(CallbackData *cbdata) {
|
||||
Py_DECREF(args);
|
||||
|
||||
if (result == (PyObject *)NULL) {
|
||||
util_cat.error()
|
||||
<< "Exception occurred in " << *this << "\n";
|
||||
if (PyErr_Occurred() != PyExc_SystemExit) {
|
||||
util_cat.error()
|
||||
<< "Exception occurred in " << *this << "\n";
|
||||
}
|
||||
} else {
|
||||
Py_DECREF(result);
|
||||
}
|
||||
|
@ -34,6 +34,8 @@ PUBLISHED:
|
||||
void set_function(PyObject *function);
|
||||
PyObject *get_function();
|
||||
|
||||
MAKE_PROPERTY(function, get_function, set_function);
|
||||
|
||||
public:
|
||||
virtual void do_callback(CallbackData *cbdata);
|
||||
|
||||
|
@ -77,6 +77,7 @@ public:
|
||||
virtual void write_datagram(BamWriter *manager, Datagram &dg);
|
||||
virtual void write_recorder(BamWriter *manager, Datagram &dg);
|
||||
|
||||
INLINE virtual int get_ref_count() const FINAL { return ReferenceCount::get_ref_count(); };
|
||||
INLINE virtual void ref() const FINAL { ReferenceCount::ref(); };
|
||||
INLINE virtual bool unref() const FINAL { return ReferenceCount::unref(); };
|
||||
|
||||
|
@ -61,6 +61,7 @@ public:
|
||||
|
||||
// We can't let RecorderBase inherit from ReferenceCount, so we define these
|
||||
// so we can still manage the reference count.
|
||||
virtual int get_ref_count() const=0;
|
||||
virtual void ref() const=0;
|
||||
virtual bool unref() const=0;
|
||||
|
||||
|
@ -74,6 +74,7 @@ public:
|
||||
static void register_with_read_factory();
|
||||
virtual void write_recorder(BamWriter *manager, Datagram &dg);
|
||||
|
||||
INLINE virtual int get_ref_count() const FINAL { return ReferenceCount::get_ref_count(); };
|
||||
INLINE virtual void ref() const FINAL { ReferenceCount::ref(); };
|
||||
INLINE virtual bool unref() const FINAL { return ReferenceCount::unref(); };
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user