anjuta/libgda-6.patch

88 lines
2.8 KiB
Diff

From 77bf4308332d3660c136719c5590dd2e882e3f44 Mon Sep 17 00:00:00 2001
From: Ting-Wei Lan <lantw@src.gnome.org>
Date: Sat, 22 Sep 2018 14:51:42 +0800
Subject: [PATCH] symbol-db: Fix build with the current libgda master branch
GdaTimestamp has been removed and replaced by GDateTime. The version
number went back to 5.90 and bumped to 5.91 on the libgda master branch.
---
configure.ac | 2 +-
plugins/symbol-db/symbol-db-engine-core.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index eeda3ed3e..569b81fe1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,7 +37,7 @@ GTHREAD_REQUIRED=2.22.0
GDK_PIXBUF_REQUIRED=2.0.0
GDA4_REQUIRED=4.2.0
GDA5_REQUIRED=5.0.0
-GDA6_REQUIRED=5.99.0
+GDA6_REQUIRED=6.0.0
LIBXML_REQUIRED=2.4.23
GDL_REQUIRED=3.5.5
LIBWNCK_REQUIRED=2.12
diff --git a/plugins/symbol-db/symbol-db-engine-core.c b/plugins/symbol-db/symbol-db-engine-core.c
index 37d6e048a..c3f0d4f55 100644
--- a/plugins/symbol-db/symbol-db-engine-core.c
+++ b/plugins/symbol-db/symbol-db-engine-core.c
@@ -5443,7 +5443,11 @@ symbol_db_engine_update_project_symbols (SymbolDBEngine *dbe,
G_TYPE_STRING,
G_TYPE_INT,
G_TYPE_INT,
+#ifdef HAVE_GDA6
+ G_TYPE_DATE_TIME,
+#else
GDA_TYPE_TIMESTAMP,
+#endif
G_TYPE_NONE
};
data_model = gda_connection_statement_execute_select_full (priv->db_connection,
@@ -5473,7 +5477,11 @@ symbol_db_engine_update_project_symbols (SymbolDBEngine *dbe,
for (i = 0; i < num_rows; i++)
{
const GValue *value, *value1;
+#ifdef HAVE_GDA6
+ GDateTime *timestamp;
+#else
const GdaTimestamp *timestamp;
+#endif
const gchar *file_name;
gchar *file_abs_path = NULL;
struct tm filetm;
@@ -5530,17 +5538,30 @@ symbol_db_engine_update_project_symbols (SymbolDBEngine *dbe,
}
+#ifdef HAVE_GDA6
+ timestamp = g_value_get_boxed (value1);
+#else
timestamp = gda_value_get_timestamp (value1);
+#endif
/* fill a struct tm with the date retrieved by the string. */
/* string is something like '2007-04-18 23:51:39' */
memset (&filetm, 0, sizeof (struct tm));
+#ifdef HAVE_GDA6
+ filetm.tm_year = g_date_time_get_year (timestamp) - 1900;
+ filetm.tm_mon = g_date_time_get_month (timestamp) - 1;
+ filetm.tm_mday = g_date_time_get_day_of_month (timestamp);
+ filetm.tm_hour = g_date_time_get_hour (timestamp);
+ filetm.tm_min = g_date_time_get_minute (timestamp);
+ filetm.tm_sec = g_date_time_get_second (timestamp);
+#else
filetm.tm_year = timestamp->year - 1900;
filetm.tm_mon = timestamp->month - 1;
filetm.tm_mday = timestamp->day;
filetm.tm_hour = timestamp->hour;
filetm.tm_min = timestamp->minute;
filetm.tm_sec = timestamp->second;
+#endif
/* remove one hour to the db_file_time. */
db_time = mktime (&filetm) - 3600;
--
GitLab