[glibmm/glibmm-2-66] Fix build-deprecated-api=false



commit 5845a3bab7643809894bec5cee653a910bfb4c8a
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Wed Jan 13 12:46:29 2021 +0100

    Fix build-deprecated-api=false
    
    * glib/glibmm/timeval.[cc|h]: Glib::TimeoutSource in glibmm/main.h
    contains a TimeVal. Some TimeVal methods are used in glibmm/main.cc.
    These methods must be declared and defined when glibmm is being built.
    * glib/src/balancedtree.hg: Add _CONFIGINCLUDE(glibmmconfig.h).

 glib/glibmm/timeval.cc   |  8 ++++++++
 glib/glibmm/timeval.h    | 27 +++++++++++++++++++++++++++
 glib/src/balancedtree.hg |  1 +
 3 files changed, 36 insertions(+)
---
diff --git a/glib/glibmm/timeval.cc b/glib/glibmm/timeval.cc
index 1e2c079a..d6edffc7 100644
--- a/glib/glibmm/timeval.cc
+++ b/glib/glibmm/timeval.cc
@@ -51,7 +51,9 @@ TimeVal::add(const TimeVal& rhs)
 
   tv_sec += rhs.tv_sec;
 }
+#endif // GLIBMM_DISABLE_DEPRECATED
 
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
 void
 TimeVal::subtract(const TimeVal& rhs)
 {
@@ -68,7 +70,9 @@ TimeVal::subtract(const TimeVal& rhs)
 
   tv_sec -= rhs.tv_sec;
 }
+#endif
 
+#ifndef GLIBMM_DISABLE_DEPRECATED
 void
 TimeVal::add_seconds(long seconds)
 {
@@ -84,7 +88,9 @@ TimeVal::subtract_seconds(long seconds)
 
   tv_sec -= seconds;
 }
+#endif // GLIBMM_DISABLE_DEPRECATED
 
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
 void
 TimeVal::add_milliseconds(long milliseconds)
 {
@@ -105,7 +111,9 @@ TimeVal::add_milliseconds(long milliseconds)
 
   tv_sec += milliseconds / 1000;
 }
+#endif
 
+#ifndef GLIBMM_DISABLE_DEPRECATED
 void
 TimeVal::subtract_milliseconds(long milliseconds)
 {
diff --git a/glib/glibmm/timeval.h b/glib/glibmm/timeval.h
index 831ed7ab..e37c5229 100644
--- a/glib/glibmm/timeval.h
+++ b/glib/glibmm/timeval.h
@@ -30,6 +30,9 @@ namespace Glib
 // That's why not all of struct Glib::TimeVal is surrounded by
 // #ifndef GLIBMM_DISABLE_DEPRECATED/#endif. It would result in compilation errors,
 // if you define GLIBMM_DISABLE_DEPRECATED and include gdkmm/pixbufanimationiter.h.
+// Glib::TimeoutSource in glibmm/main.h contains a TimeVal. Several TimeVal methods
+// are used in glibmm/main.cc. These methods must be declared and defined when
+// glibmm is built, even if build-deprecated-api=false.
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 /** Glib::TimeVal is a wrapper around the glib structure GTimeVal.
  * The glib structure GTimeVal itself is equivalent to struct timeval,
@@ -63,10 +66,22 @@ struct GLIBMM_API TimeVal : public GTimeVal
   bool assign_from_iso8601(const Glib::ustring& iso_date);
 
   void add(const TimeVal& rhs);
+#endif // GLIBMM_DISABLE_DEPRECATED
+
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
   void subtract(const TimeVal& rhs);
+#endif
+
+#ifndef GLIBMM_DISABLE_DEPRECATED
   void add_seconds(long seconds);
   void subtract_seconds(long seconds);
+#endif // GLIBMM_DISABLE_DEPRECATED
+
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
   void add_milliseconds(long milliseconds);
+#endif
+
+#ifndef GLIBMM_DISABLE_DEPRECATED
   void subtract_milliseconds(long milliseconds);
   void add_microseconds(long microseconds);
   void subtract_microseconds(long microseconds);
@@ -89,9 +104,13 @@ struct GLIBMM_API TimeVal : public GTimeVal
    * @newin{2,22}
    */
   Glib::ustring as_iso8601() const;
+#endif // GLIBMM_DISABLE_DEPRECATED
 
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
   inline bool negative() const;
+#endif
 
+#ifndef GLIBMM_DISABLE_DEPRECATED
   /** Checks whether the stored time interval is positive.
    * Returns true if the stored time / time interval is positive.
    */
@@ -163,13 +182,17 @@ TimeVal::as_double() const
 {
   return double(tv_sec) + double(tv_usec) / double(G_USEC_PER_SEC);
 }
+#endif // GLIBMM_DISABLE_DEPRECATED
 
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
 inline bool
 TimeVal::negative() const
 {
   return (tv_sec < 0);
 }
+#endif
 
+#ifndef GLIBMM_DISABLE_DEPRECATED
 inline bool
 TimeVal::valid() const
 {
@@ -231,14 +254,18 @@ operator>(const TimeVal& lhs, const TimeVal& rhs)
 {
   return ((lhs.tv_sec > rhs.tv_sec) || (lhs.tv_sec == rhs.tv_sec && lhs.tv_usec > rhs.tv_usec));
 }
+#endif // GLIBMM_DISABLE_DEPRECATED
 
+#if !defined(GLIBMM_DISABLE_DEPRECATED) || defined(GLIBMM_BUILD)
 /** @relates Glib::TimeVal */
 inline bool
 operator<=(const TimeVal& lhs, const TimeVal& rhs)
 {
   return ((lhs.tv_sec < rhs.tv_sec) || (lhs.tv_sec == rhs.tv_sec && lhs.tv_usec <= rhs.tv_usec));
 }
+#endif
 
+#ifndef GLIBMM_DISABLE_DEPRECATED
 /** @relates Glib::TimeVal */
 inline bool
 operator>=(const TimeVal& lhs, const TimeVal& rhs)
diff --git a/glib/src/balancedtree.hg b/glib/src/balancedtree.hg
index 9b8d6598..b46e10c8 100644
--- a/glib/src/balancedtree.hg
+++ b/glib/src/balancedtree.hg
@@ -15,6 +15,7 @@
  */
 
 _DEFS(glibmm,glib)
+_CONFIGINCLUDE(glibmmconfig.h)
 
 _IS_DEPRECATED // This whole file is deprecated.
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]