diff --git a/dtool/src/dtoolutil/dSearchPath.h b/dtool/src/dtoolutil/dSearchPath.h index 7258a71f26..8a13ebf063 100644 --- a/dtool/src/dtoolutil/dSearchPath.h +++ b/dtool/src/dtoolutil/dSearchPath.h @@ -53,8 +53,8 @@ PUBLISHED: }; DSearchPath() = default; - DSearchPath(const std::string &path, const std::string &separator = std::string()); - DSearchPath(const Filename &directory); + explicit DSearchPath(const std::string &path, const std::string &separator = std::string()); + explicit DSearchPath(const Filename &directory); DSearchPath(const DSearchPath ©) = default; DSearchPath(DSearchPath &&from) = default; ~DSearchPath() = default; diff --git a/dtool/src/dtoolutil/filename.h b/dtool/src/dtoolutil/filename.h index db0728f95c..f3065034ca 100644 --- a/dtool/src/dtoolutil/filename.h +++ b/dtool/src/dtoolutil/filename.h @@ -63,7 +63,7 @@ public: PUBLISHED: INLINE Filename(); - Filename(const Filename &dirname, const Filename &basename); + explicit Filename(const Filename &dirname, const Filename &basename); #ifdef HAVE_PYTHON EXTENSION(Filename(PyObject *path)); diff --git a/dtool/src/prc/configVariableBool.h b/dtool/src/prc/configVariableBool.h index c2c4da14c7..94ba8853bd 100644 --- a/dtool/src/prc/configVariableBool.h +++ b/dtool/src/prc/configVariableBool.h @@ -22,7 +22,7 @@ */ class EXPCL_DTOOL_PRC ConfigVariableBool : public ConfigVariable { PUBLISHED: - INLINE ConfigVariableBool(const std::string &name); + INLINE explicit ConfigVariableBool(const std::string &name); INLINE ConfigVariableBool(const std::string &name, bool default_value, const std::string &description = std::string(), int flags = 0); INLINE ConfigVariableBool(const std::string &name, const std::string &default_value, diff --git a/dtool/src/prc/configVariableDouble.h b/dtool/src/prc/configVariableDouble.h index 816c4cbf35..6244ae8f15 100644 --- a/dtool/src/prc/configVariableDouble.h +++ b/dtool/src/prc/configVariableDouble.h @@ -23,7 +23,7 @@ */ class EXPCL_DTOOL_PRC ConfigVariableDouble : public ConfigVariable { PUBLISHED: - INLINE ConfigVariableDouble(const std::string &name); + INLINE explicit ConfigVariableDouble(const std::string &name); INLINE ConfigVariableDouble(const std::string &name, double default_value, const std::string &description = std::string(), int flags = 0); diff --git a/dtool/src/prc/configVariableFilename.h b/dtool/src/prc/configVariableFilename.h index c6677a7ec9..5d01702917 100644 --- a/dtool/src/prc/configVariableFilename.h +++ b/dtool/src/prc/configVariableFilename.h @@ -26,7 +26,7 @@ */ class EXPCL_DTOOL_PRC ConfigVariableFilename : public ConfigVariable { PUBLISHED: - INLINE ConfigVariableFilename(const std::string &name); + INLINE explicit ConfigVariableFilename(const std::string &name); INLINE ConfigVariableFilename(const std::string &name, const Filename &default_value, const std::string &description = std::string(), int flags = 0); diff --git a/dtool/src/prc/configVariableInt.h b/dtool/src/prc/configVariableInt.h index cd116557ed..2183032ce6 100644 --- a/dtool/src/prc/configVariableInt.h +++ b/dtool/src/prc/configVariableInt.h @@ -23,7 +23,7 @@ */ class EXPCL_DTOOL_PRC ConfigVariableInt : public ConfigVariable { PUBLISHED: - INLINE ConfigVariableInt(const std::string &name); + INLINE explicit ConfigVariableInt(const std::string &name); INLINE ConfigVariableInt(const std::string &name, int default_value, const std::string &description = std::string(), int flags = 0); diff --git a/dtool/src/prc/configVariableInt64.h b/dtool/src/prc/configVariableInt64.h index 7241219085..a85876ba1d 100644 --- a/dtool/src/prc/configVariableInt64.h +++ b/dtool/src/prc/configVariableInt64.h @@ -24,7 +24,7 @@ */ class EXPCL_DTOOL_PRC ConfigVariableInt64 : public ConfigVariable { PUBLISHED: - INLINE ConfigVariableInt64(const std::string &name); + INLINE explicit ConfigVariableInt64(const std::string &name); INLINE ConfigVariableInt64(const std::string &name, int64_t default_value, const std::string &description = std::string(), int flags = 0); diff --git a/panda/src/downloader/urlSpec.h b/panda/src/downloader/urlSpec.h index df5a7b9bb6..91a4e7a5bf 100644 --- a/panda/src/downloader/urlSpec.h +++ b/panda/src/downloader/urlSpec.h @@ -29,7 +29,7 @@ class EXPCL_PANDA_DOWNLOADER URLSpec { PUBLISHED: URLSpec(); INLINE URLSpec(const std::string &url, bool server_name_expected = false); - URLSpec(const URLSpec &url, const Filename &path); + explicit URLSpec(const URLSpec &url, const Filename &path); INLINE void operator = (const std::string &url); INLINE bool operator == (const URLSpec &other) const; diff --git a/panda/src/express/datagram.h b/panda/src/express/datagram.h index e0590427f0..20821fc37e 100644 --- a/panda/src/express/datagram.h +++ b/panda/src/express/datagram.h @@ -38,7 +38,7 @@ class EXPCL_PANDA_EXPRESS Datagram : public TypedObject { PUBLISHED: INLINE Datagram() = default; - INLINE Datagram(const void *data, size_t size); + INLINE explicit Datagram(const void *data, size_t size); INLINE explicit Datagram(vector_uchar data); Datagram(const Datagram ©) = default; Datagram(Datagram &&from) noexcept = default; diff --git a/panda/src/gobj/texture.cxx b/panda/src/gobj/texture.cxx index cb7d06f7cb..05dee83ab7 100644 --- a/panda/src/gobj/texture.cxx +++ b/panda/src/gobj/texture.cxx @@ -10455,9 +10455,9 @@ make_this_from_bam(const FactoryParams ¶ms) { // If texture filename was given relative to the bam filename, expand // it now. Filename bam_dir = manager->get_filename().get_dirname(); - vfs->resolve_filename(filename, bam_dir); + vfs->resolve_filename(filename, DSearchPath(bam_dir)); if (!alpha_filename.empty()) { - vfs->resolve_filename(alpha_filename, bam_dir); + vfs->resolve_filename(alpha_filename, DSearchPath(bam_dir)); } } diff --git a/panda/src/linmath/lvecBase3_src.h b/panda/src/linmath/lvecBase3_src.h index 8594f1b921..567adae9c9 100644 --- a/panda/src/linmath/lvecBase3_src.h +++ b/panda/src/linmath/lvecBase3_src.h @@ -33,7 +33,7 @@ PUBLISHED: INLINE_LINMATH FLOATNAME(LVecBase3)() = default; INLINE_LINMATH FLOATNAME(LVecBase3)(FLOATTYPE fill_value); INLINE_LINMATH FLOATNAME(LVecBase3)(FLOATTYPE x, FLOATTYPE y, FLOATTYPE z); - INLINE_LINMATH FLOATNAME(LVecBase3)(const FLOATNAME(LVecBase2) ©, FLOATTYPE z); + INLINE_LINMATH explicit FLOATNAME(LVecBase3)(const FLOATNAME(LVecBase2) ©, FLOATTYPE z); ALLOC_DELETED_CHAIN(FLOATNAME(LVecBase3)); #ifdef CPPPARSER diff --git a/panda/src/linmath/lvecBase4_src.h b/panda/src/linmath/lvecBase4_src.h index 8e9fe9a81d..aed77a9470 100644 --- a/panda/src/linmath/lvecBase4_src.h +++ b/panda/src/linmath/lvecBase4_src.h @@ -40,7 +40,7 @@ PUBLISHED: INLINE_LINMATH FLOATNAME(LVecBase4)(FLOATTYPE fill_value); INLINE_LINMATH FLOATNAME(LVecBase4)(FLOATTYPE x, FLOATTYPE y, FLOATTYPE z, FLOATTYPE w); INLINE_LINMATH FLOATNAME(LVecBase4)(const FLOATNAME(UnalignedLVecBase4) ©); - INLINE_LINMATH FLOATNAME(LVecBase4)(const FLOATNAME(LVecBase3) ©, FLOATTYPE w); + INLINE_LINMATH explicit FLOATNAME(LVecBase4)(const FLOATNAME(LVecBase3) ©, FLOATTYPE w); INLINE_LINMATH FLOATNAME(LVecBase4)(const FLOATNAME(LPoint3) &point); INLINE_LINMATH FLOATNAME(LVecBase4)(const FLOATNAME(LVector3) &vector); ALLOC_DELETED_CHAIN(FLOATNAME(LVecBase4)); diff --git a/panda/src/pnmimage/pnmimage_base.h b/panda/src/pnmimage/pnmimage_base.h index aa5474e82a..f3db5ff226 100644 --- a/panda/src/pnmimage/pnmimage_base.h +++ b/panda/src/pnmimage/pnmimage_base.h @@ -41,7 +41,7 @@ typedef unsigned char gray; struct pixel { PUBLISHED: pixel() = default; - pixel(gray fill) : r(fill), g(fill), b(fill) { } + explicit pixel(gray fill) : r(fill), g(fill), b(fill) { } pixel(gray r, gray g, gray b) : r(r), g(g), b(b) { } gray operator [](int i) const { nassertr(i >= 0 && i < 3, 0); return *(&r + i); } diff --git a/panda/src/putil/buttonHandle.h b/panda/src/putil/buttonHandle.h index 6e9dd9a40f..6c47a7df2d 100644 --- a/panda/src/putil/buttonHandle.h +++ b/panda/src/putil/buttonHandle.h @@ -30,7 +30,7 @@ PUBLISHED: // its value, it might happen after the value had already been set // previously by another static initializer! INLINE ButtonHandle() = default; - constexpr ButtonHandle(int index); + explicit constexpr ButtonHandle(int index); ButtonHandle(const std::string &name); PUBLISHED: diff --git a/panda/src/putil/loaderOptions.h b/panda/src/putil/loaderOptions.h index 36ac016aef..826f5d072e 100644 --- a/panda/src/putil/loaderOptions.h +++ b/panda/src/putil/loaderOptions.h @@ -49,8 +49,8 @@ PUBLISHED: TF_no_filters = 0x0400, // disallow using texture pool filters }; - LoaderOptions(int flags = LF_search | LF_report_errors); - constexpr LoaderOptions(int flags, int texture_flags); + explicit LoaderOptions(int flags = LF_search | LF_report_errors); + explicit constexpr LoaderOptions(int flags, int texture_flags); INLINE void set_flags(int flags); INLINE int get_flags() const;