[grilo-plugins] tracker: Fix filesize value type



commit 256c1542b335b2e13139a16461454978507ab013
Author: Bastien Nocera <hadess hadess net>
Date:   Wed Nov 26 16:36:28 2014 +0100

    tracker: Fix filesize value type
    
    So that the value isn't truncated, or wrapped around for files > 2GB.
    
    Bump requirement to grilo 0.2.12 so that the filesize type is corrected
    as well.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=740761

 configure.ac                         |    2 +-
 src/tracker/grl-tracker-source-api.c |    5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index acd73f4..dc087a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -90,7 +90,7 @@ fi
 PKG_CHECK_MODULES([DEPS], glib-2.0 >= 2.36      \
                          gobject-2.0   \
                          gmodule-2.0   \
-                         ${GRL_NAME} >= 0.2.11)
+                         ${GRL_NAME} >= 0.2.12)
 
 GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
 AC_SUBST(GLIB_COMPILE_RESOURCES)
diff --git a/src/tracker/grl-tracker-source-api.c b/src/tracker/grl-tracker-source-api.c
index a9264ab..8c9fd55 100644
--- a/src/tracker/grl-tracker-source-api.c
+++ b/src/tracker/grl-tracker-source-api.c
@@ -213,7 +213,7 @@ fill_grilo_media_from_sparql (GrlTrackerSource    *source,
   tracker_grl_sparql_t *assoc =
     grl_tracker_get_mapping_from_sparql (sparql_key);
   union {
-    gint int_val;
+    gint64 int_val;
     gdouble double_val;
     const gchar *str_val;
   } val;
@@ -265,6 +265,9 @@ fill_grilo_media_from_sparql (GrlTrackerSource    *source,
     } else if (grl_type == G_TYPE_INT) {
       val.int_val = tracker_sparql_cursor_get_integer (cursor, column);
       grl_data_set_int (GRL_DATA (media), grl_key, val.int_val);
+    } else if (grl_type == G_TYPE_INT64) {
+      val.int_val = tracker_sparql_cursor_get_integer (cursor, column);
+      grl_data_set_int64 (GRL_DATA (media), grl_key, val.int_val);
     } else if (grl_type == G_TYPE_FLOAT) {
       val.double_val = tracker_sparql_cursor_get_double (cursor, column);
       grl_data_set_float (GRL_DATA (media), grl_key, (gfloat) val.double_val);


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