Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=e18fd5ebca46495d0e0b140dc6eebc9d40307435

commit e18fd5ebca46495d0e0b140dc6eebc9d40307435
Author: crazy <[email protected]>
Date:   Sun Apr 30 17:46:01 2017 +0200

sushi-3.24.0-1-x86_64
* Version bump

diff --git a/source/gnome/sushi/FrugalBuild b/source/gnome/sushi/FrugalBuild
index 51bca63..8a22257 100644
--- a/source/gnome/sushi/FrugalBuild
+++ b/source/gnome/sushi/FrugalBuild
@@ -3,8 +3,8 @@
# Contributor: bouleetbil <[email protected]>

pkgname=sushi
-pkgver=3.23.91
-pkgrel=2
+pkgver=3.24.0
+pkgrel=1
pkgdesc="A quick previewer for Nautilus"
depends=('clutter-gst3>=3.0.24' 'clutter-gtk>=1.8.2-3' 'gjs>=1.48.1' 
'libmusicbrainz>=5.1.0-2' \
'webkit2-gtk3>=2.16.1' 'gtksourceview3>=3.24.1' 'evince>=3.24.0' 
'libkrb5>=1.14.4-1')
@@ -15,7 +15,7 @@ _F_gnome_glib="y"
_F_gnome_devel="y"
_F_gnome_ext=".tar.xz"
Finclude gnome gnome-scriptlet
-sha1sums=('40b76474245acf506f0167ac9c5235c5d70b6c11')
+sha1sums=('0936e28b3d0cfe8765b3fc364a65b234fafce849')
replaces=('gloobus-preview')

# optimization OK
diff --git a/source/gnome/sushi/clutter-gst3-big.patch 
b/source/gnome/sushi/clutter-gst3-big.patch
deleted file mode 100644
index 55f9b7d..0000000
--- a/source/gnome/sushi/clutter-gst3-big.patch
+++ /dev/null
@@ -1,625 +0,0 @@
-diff -Naur sushi-3.18.0/configure.ac sushi-3.18.0-gst3/configure.ac
---- sushi-3.18.0/configure.ac  2015-09-23 01:04:59.000000000 +0200
-+++ sushi-3.18.0-gst3/configure.ac     2016-01-20 04:31:56.590327121 +0100
-@@ -62,7 +62,7 @@
-                   clutter-x11-1.0 >= $CLUTTER_MIN_VERSION
-                   gtk+-3.0 >= $GTK_MIN_VERSION
-                   clutter-gtk-1.0 >= $CLUTTER_GTK_MIN_VERSION
--                  clutter-gst-2.0
-+                  clutter-gst-3.0
-                   gstreamer-1.0
-                   gstreamer-pbutils-1.0
-                   gstreamer-tag-1.0
-diff -Naur sushi-3.18.0/src/js/viewers/audio.js 
sushi-3.18.0-gst3/src/js/viewers/audio.js
---- sushi-3.18.0/src/js/viewers/audio.js       2015-07-22 21:26:54.000000000 
+0200
-+++ sushi-3.18.0-gst3/src/js/viewers/audio.js  2016-01-20 04:32:12.657744887 
+0100
-@@ -23,6 +23,7 @@
-  *
-  */
-
-+const GdkPixbuf = imports.gi.GdkPixbuf;
- const Gio = imports.gi.Gio;
- const Gst = imports.gi.Gst;
- const Gtk = imports.gi.Gtk;
-@@ -254,7 +255,8 @@
-     },
-
-     createToolbar : function () {
--        this._mainToolbar = new Gtk.Toolbar();
-+        this._mainToolbar = new Gtk.Toolbar({ margin_start: 
Constants.TOOLBAR_SPACING,
-+                                              margin_end: 
Constants.TOOLBAR_SPACING });
-         this._mainToolbar.get_style_context().add_class('osd');
-         this._mainToolbar.set_icon_size(Gtk.IconSize.MENU);
-         this._mainToolbar.show();
-diff -Naur sushi-3.18.0/src/js/viewers/gst.js 
sushi-3.18.0-gst3/src/js/viewers/gst.js
---- sushi-3.18.0/src/js/viewers/gst.js 2015-07-22 21:26:54.000000000 +0200
-+++ sushi-3.18.0-gst3/src/js/viewers/gst.js    2016-01-20 04:31:56.590327121 
+0100
-@@ -23,7 +23,7 @@
-  *
-  */
-
--imports.gi.versions.ClutterGst = '2.0';
-+imports.gi.versions.ClutterGst = '3.0';
- const ClutterGst = imports.gi.ClutterGst;
- const Clutter = imports.gi.Clutter;
- const Gdk = imports.gi.Gdk;
-@@ -60,29 +60,33 @@
-     },
-
-     clear : function() {
--        this._video.playing = false;
-+        this._player.playing = false;
-     },
-
-     _createVideo : function(file) {
--        this._video =
--            new ClutterGst.VideoTexture({ sync_size: false });
-+        this._player = new ClutterGst.Playback();
-+        this._video = new Clutter.Actor({
-+            content: new ClutterGst.Aspectratio({
-+                player: this._player
-+            })
-+        });
-
--        this._video.set_uri(file.get_uri());
--        this._video.playing = true;
-+        this._player.set_uri(file.get_uri());
-+        this._player.playing = true;
-
-         this._videoSizeChangeId =
--            this._video.connect('size-change',
--                                Lang.bind(this,
--                                          this._onVideoSizeChange));
--        this._video.connect('notify::playing',
--                            Lang.bind(this,
--                                      this._onVideoPlayingChange));
--        this._video.connect('notify::progress',
--                            Lang.bind(this,
--                                      this._onVideoProgressChange));
--        this._video.connect('notify::duration',
--                            Lang.bind(this,
--                                      this._onVideoDurationChange));
-+            this._player.connect('size-change',
-+                                 Lang.bind(this,
-+                                           this._onVideoSizeChange));
-+        this._player.connect('notify::playing',
-+                             Lang.bind(this,
-+                                       this._onVideoPlayingChange));
-+        this._player.connect('notify::progress',
-+                             Lang.bind(this,
-+                                       this._onVideoProgressChange));
-+        this._player.connect('notify::duration',
-+                             Lang.bind(this,
-+                                       this._onVideoDurationChange));
-     },
-
-     _updateProgressBar : function() {
-@@ -90,7 +94,7 @@
-             return;
-
-         this._isSettingValue = true;
--        this._progressBar.set_value(this._video.progress * 1000);
-+        this._progressBar.set_value(this._player.progress * 1000);
-         this._isSettingValue = false;
-     },
-
-@@ -99,7 +103,7 @@
-             return;
-
-         let currentTime =
--            Math.floor(this._video.duration * this._video.progress);
-+            Math.floor(this._player.duration * this._player.progress);
-
-         this._currentLabel.set_text(Utils.formatTimeString(currentTime));
-     },
-@@ -108,7 +112,7 @@
-         if (!this._mainToolbar)
-             return;
-
--        let totalTime = this._video.duration;
-+        let totalTime = this._player.duration;
-
-         this._durationLabel.set_text(Utils.formatTimeString(totalTime));
-     },
-@@ -123,7 +127,7 @@
-     },
-
-     _onVideoPlayingChange : function() {
--        if (this._video.playing)
-+        if (this._player.playing)
-             this._toolbarPlay.set_icon_name('media-playback-pause-symbolic');
-         else
-         {
-@@ -166,8 +170,8 @@
-
-         this._toolbarPlay.connect('clicked',
-                                   Lang.bind(this, function () {
--                                      let playing = !this._video.playing;
--                                      this._video.playing = playing;
-+                                      let playing = !this._player.playing;
-+                                      this._player.playing = playing;
-                                   }));
-
-         this._progressBar =
-@@ -178,7 +182,7 @@
-         this._progressBar.connect('value-changed',
-                                   Lang.bind(this, function() {
-                                       if(!this._isSettingValue)
--                                          this._video.progress = 
this._progressBar.get_value() / 1000;
-+                                          this._player.progress = 
this._progressBar.get_value() / 1000;
-                                   }));
-
-         item = new Gtk.ToolItem();
-@@ -200,7 +204,7 @@
-         return this._toolbarActor;
-     },
-
--    _onVideoSizeChange : function(video, width, height) {
-+    _onVideoSizeChange : function(player, width, height) {
-         this._videoWidth = width;
-         this._videoHeight = height;
-
-diff -Naur sushi-3.18.0/src/libsushi/sushi-cover-art.c 
sushi-3.18.0-gst3/src/libsushi/sushi-cover-art.c
---- sushi-3.18.0/src/libsushi/sushi-cover-art.c        2014-11-20 
18:17:19.000000000 +0100
-+++ sushi-3.18.0-gst3/src/libsushi/sushi-cover-art.c   2016-01-20 
04:32:06.798592077 +0100
-@@ -155,61 +155,41 @@
- }
-
- typedef struct {
--  SushiCoverArtFetcher *self;
--  GSimpleAsyncResult *result;
-   gchar *artist;
-   gchar *album;
--} FetchUriJob;
-+} FetchUriTaskData;
-
- static void
--fetch_uri_job_free (gpointer user_data)
-+fetch_uri_task_data_free (gpointer user_data)
- {
--  FetchUriJob *data = user_data;
-+  FetchUriTaskData *data = user_data;
-
--  g_clear_object (&data->self);
--  g_clear_object (&data->result);
-   g_free (data->artist);
-   g_free (data->album);
-
--  g_slice_free (FetchUriJob, data);
-+  g_slice_free (FetchUriTaskData, data);
- }
-
--static FetchUriJob *
--fetch_uri_job_new (SushiCoverArtFetcher *self,
--                   const gchar *artist,
--                   const gchar *album,
--                   GAsyncReadyCallback callback,
--                   gpointer user_data)
-+static FetchUriTaskData *
-+fetch_uri_task_data_new (const gchar *artist,
-+                         const gchar *album)
- {
--  FetchUriJob *retval;
-+  FetchUriTaskData *retval;
-
--  retval = g_slice_new0 (FetchUriJob);
-+  retval = g_slice_new0 (FetchUriTaskData);
-   retval->artist = g_strdup (artist);
-   retval->album = g_strdup (album);
--  retval->self = g_object_ref (self);
--  retval->result = g_simple_async_result_new (G_OBJECT (self), callback, 
user_data,
--                                              
sushi_cover_art_fetcher_get_uri_for_track_async);
-
-   return retval;
- }
-
--static gboolean
--fetch_uri_job_callback (gpointer user_data)
--{
--  FetchUriJob *job = user_data;
--
--  g_simple_async_result_complete (job->result);
--  fetch_uri_job_free (job);
--
--  return FALSE;
--}
--
--static gboolean
--fetch_uri_job (GIOSchedulerJob *sched_job,
--               GCancellable *cancellable,
--               gpointer user_data)
-+static void
-+fetch_uri_job (GTask *task,
-+               gpointer source_object,
-+               gpointer task_data,
-+               GCancellable *cancellable)
- {
--  FetchUriJob *job = user_data;
-+  FetchUriTaskData *data = task_data;
-   Mb5Metadata metadata;
-   Mb5Query query;
-   Mb5Release release;
-@@ -224,7 +204,7 @@
-   param_values = g_new (gchar*, 3);
-
-   param_names[0] = g_strdup ("query");
--  param_values[0] = g_strdup_printf ("artist:\"%s\" AND release:\"%s\"", 
job->artist, job->album);
-+  param_values[0] = g_strdup_printf ("artist:\"%s\" AND release:\"%s\"", 
data->artist, data->album);
-
-   param_names[1] = g_strdup ("limit");
-   param_values[1] = g_strdup ("10");
-@@ -258,21 +238,16 @@
-
-   if (retval == NULL) {
-     /* FIXME: do we need a better error? */
--    g_simple_async_result_set_error (job->result,
--                                     G_IO_ERROR,
--                                     0, "%s",
--                                     "Error getting the ASIN from 
MusicBrainz");
-+    g_task_return_new_error (task,
-+                             G_IO_ERROR,
-+                             0, "%s",
-+                             "Error getting the ASIN from MusicBrainz");
-   } else {
--    g_simple_async_result_set_op_res_gpointer (job->result,
--                                               retval, NULL);
-+    g_task_return_pointer (task, retval, g_free);
-   }
-
--  g_io_scheduler_job_send_to_mainloop_async (sched_job,
--                                             fetch_uri_job_callback,
--                                             job, NULL);
-   g_strfreev (param_names);
-   g_strfreev (param_values);
--  return FALSE;
- }
-
- static gchar *
-@@ -280,15 +255,7 @@
-                                                   GAsyncResult *result,
-                                                   GError **error)
- {
--  gchar *retval;
--
--  if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result),
--                                             error))
--    return NULL;
--
--  retval = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT 
(result));
--
--  return retval;
-+  return g_task_propagate_pointer (G_TASK (result), error);
- }
-
- static void
-@@ -298,12 +265,12 @@
-                                                  GAsyncReadyCallback callback,
-                                                  gpointer user_data)
- {
--  FetchUriJob *job;
-+  FetchUriTaskData *data = fetch_uri_task_data_new (artist, album);
-+  GTask *task = g_task_new (G_OBJECT (self), NULL, callback, user_data);
-+  g_task_set_task_data (task, data, fetch_uri_task_data_free);
-
--  job = fetch_uri_job_new (self, artist, album, callback, user_data);
--  g_io_scheduler_push_job (fetch_uri_job,
--                           job, NULL,
--                           G_PRIORITY_DEFAULT, NULL);
-+  g_task_run_in_thread (task, fetch_uri_job);
-+  g_object_unref (task);
- }
-
- static GFile *
-diff -Naur sushi-3.18.0/src/libsushi/sushi-file-loader.c 
sushi-3.18.0-gst3/src/libsushi/sushi-file-loader.c
---- sushi-3.18.0/src/libsushi/sushi-file-loader.c      2014-11-20 
18:17:19.000000000 +0100
-+++ sushi-3.18.0-gst3/src/libsushi/sushi-file-loader.c 2016-01-20 
04:32:09.724668363 +0100
-@@ -590,7 +590,7 @@
-     return NULL;
-
-   retval = gtk_icon_info_load_icon (info, &error);
--  gtk_icon_info_free (info);
-+  g_object_unref (info);
-
-   if (error != NULL) {
-     gchar *uri;
-diff -Naur sushi-3.18.0/src/libsushi/sushi-font-widget.c 
sushi-3.18.0-gst3/src/libsushi/sushi-font-widget.c
---- sushi-3.18.0/src/libsushi/sushi-font-widget.c      2015-07-22 
21:26:54.000000000 +0200
-+++ sushi-3.18.0-gst3/src/libsushi/sushi-font-widget.c 2016-01-20 
04:32:23.257021423 +0100
-@@ -1,5 +1,6 @@
- /*
-  * Copyright (C) 2011 Red Hat, Inc.
-+ * Copyright (C) 2014 Khaled Hosny <[email protected]>.
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License as
-@@ -26,6 +27,7 @@
- #include "sushi-font-widget.h"
- #include "sushi-font-loader.h"
-
-+#include <hb-glib.h>
- #include <math.h>
-
- enum {
-@@ -68,6 +70,112 @@
- static const gchar uppercase_text_stock[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- static const gchar punctuation_text_stock[] = "0123456789.:,;(*!?')";
-
-+static void
-+text_to_glyphs (cairo_t *cr,
-+                const gchar *text,
-+                cairo_glyph_t **glyphs,
-+                int *num_glyphs)
-+{
-+  PangoAttribute *fallback_attr;
-+  PangoAttrList *attr_list;
-+  PangoContext *context;
-+  PangoDirection base_dir;
-+  GList *items;
-+  GList *visual_items;
-+  FT_Face ft_face;
-+  hb_font_t *hb_font;
-+  gdouble x = 0, y = 0;
-+  gint i;
-+  gdouble x_scale, y_scale;
-+
-+  *num_glyphs = 0;
-+  *glyphs = NULL;
-+
-+  base_dir = pango_find_base_dir (text, -1);
-+
-+  cairo_scaled_font_t *cr_font = cairo_get_scaled_font (cr);
-+  ft_face = cairo_ft_scaled_font_lock_face (cr_font);
-+  hb_font = hb_ft_font_create (ft_face, NULL);
-+
-+  cairo_surface_t *target = cairo_get_target (cr);
-+  cairo_surface_get_device_scale (target, &x_scale, &y_scale);
-+
-+  /* We abuse pango itemazation to split text into script and direction
-+   * runs, since we use our fonts directly no through pango, we don't
-+   * bother changing the default font, but we disable font fallback as
-+   * pango will split runs at font change */
-+  context = pango_cairo_create_context (cr);
-+  attr_list = pango_attr_list_new ();
-+  fallback_attr = pango_attr_fallback_new (FALSE);
-+  pango_attr_list_insert (attr_list, fallback_attr);
-+  items = pango_itemize_with_base_dir (context, base_dir,
-+                                       text, 0, strlen (text),
-+                                       attr_list, NULL);
-+  g_object_unref (context);
-+  pango_attr_list_unref (attr_list);
-+
-+  /* reorder the items in the visual order */
-+  visual_items = pango_reorder_items (items);
-+
-+  while (visual_items) {
-+    PangoItem *item;
-+    PangoAnalysis analysis;
-+    hb_buffer_t *hb_buffer;
-+    hb_glyph_info_t *hb_glyphs;
-+    hb_glyph_position_t *hb_positions;
-+    gint n;
-+
-+    item = visual_items->data;
-+    analysis = item->analysis;
-+
-+    hb_buffer = hb_buffer_create ();
-+    hb_buffer_add_utf8 (hb_buffer, text, -1, item->offset, item->length);
-+    hb_buffer_set_script (hb_buffer, hb_glib_script_to_script 
(analysis.script));
-+    hb_buffer_set_language (hb_buffer, hb_language_from_string 
(pango_language_to_string (analysis.language), -1));
-+    hb_buffer_set_direction (hb_buffer, analysis.level % 2 ? HB_DIRECTION_RTL 
: HB_DIRECTION_LTR);
-+
-+    hb_shape (hb_font, hb_buffer, NULL, 0);
-+
-+    n = hb_buffer_get_length (hb_buffer);
-+    hb_glyphs = hb_buffer_get_glyph_infos (hb_buffer, NULL);
-+    hb_positions = hb_buffer_get_glyph_positions (hb_buffer, NULL);
-+
-+    *glyphs = g_renew (cairo_glyph_t, *glyphs, *num_glyphs + n);
-+
-+    for (i = 0; i < n; i++) {
-+      (*glyphs)[*num_glyphs + i].index = hb_glyphs[i].codepoint;
-+      (*glyphs)[*num_glyphs + i].x = x + (hb_positions[i].x_offset / (64. * 
x_scale));
-+      (*glyphs)[*num_glyphs + i].y = y - (hb_positions[i].y_offset / (64. * 
y_scale));
-+      x += (hb_positions[i].x_advance / (64. * x_scale));
-+      y -= (hb_positions[i].y_advance / (64. * y_scale));
-+    }
-+
-+    *num_glyphs += n;
-+
-+    hb_buffer_destroy (hb_buffer);
-+
-+    visual_items = visual_items->next;
-+  }
-+
-+  g_list_free_full (visual_items, (GDestroyNotify) pango_item_free);
-+  g_list_free_full (items, (GDestroyNotify) pango_item_free);
-+
-+  hb_font_destroy (hb_font);
-+  cairo_ft_scaled_font_unlock_face (cr_font);
-+}
-+
-+static void
-+text_extents (cairo_t *cr,
-+              const char *text,
-+              cairo_text_extents_t *extents)
-+{
-+  cairo_glyph_t *glyphs;
-+  gint num_glyphs;
-+  text_to_glyphs (cr, text, &glyphs, &num_glyphs);
-+  cairo_glyph_extents (cr, glyphs, num_glyphs, extents);
-+  g_free (glyphs);
-+}
-+
- /* adapted from gnome-utils:font-viewer/font-view.c
-  *
-  * Copyright (C) 2002-2003  James Henstridge <[email protected]>
-@@ -84,13 +192,18 @@
- {
-   cairo_font_extents_t font_extents;
-   cairo_text_extents_t extents;
-+  cairo_glyph_t *glyphs;
-   GtkTextDirection text_dir;
-   gint pos_x;
-+  gint num_glyphs;
-+  gint i;
-
-   text_dir = gtk_widget_get_direction (GTK_WIDGET (self));
-
-+  text_to_glyphs (cr, text, &glyphs, &num_glyphs);
-+
-   cairo_font_extents (cr, &font_extents);
--  cairo_text_extents (cr, text, &extents);
-+  cairo_glyph_extents (cr, glyphs, num_glyphs, &extents);
-
-   if (pos_y != NULL)
-     *pos_y += font_extents.ascent + font_extents.descent +
-@@ -102,8 +215,15 @@
-       extents.x_advance - padding.right;
-   }
-
-+  for (i = 0; i < num_glyphs; i++) {
-+    glyphs[i].x += pos_x;
-+    glyphs[i].y += *pos_y;
-+  }
-+
-   cairo_move_to (cr, pos_x, *pos_y);
--  cairo_show_text (cr, text);
-+  cairo_show_glyphs (cr, glyphs, num_glyphs);
-+
-+  g_free (glyphs);
-
-   *pos_y += LINE_SPACING / 2;
- }
-@@ -113,29 +233,20 @@
-                          const gchar *text)
- {
-   gunichar *string;
--  glong len, idx, map;
--  FT_CharMap charmap;
--  gboolean retval = FALSE;
-+  glong len, idx;
-+  gboolean retval = TRUE;
-
-   string = g_utf8_to_ucs4_fast (text, -1, &len);
-
--  for (map = 0; map < face->num_charmaps; map++) {
--    charmap = face->charmaps[map];
--    FT_Set_Charmap (face, charmap);
--
--    retval = TRUE;
-+  FT_Select_Charmap (face, FT_ENCODING_UNICODE);
-
--    for (idx = 0; idx < len; idx++) {
--      gunichar c = string[idx];
-+  for (idx = 0; idx < len; idx++) {
-+    gunichar c = string[idx];
-
--      if (!FT_Get_Char_Index (face, c)) {
--        retval = FALSE;
--        break;
--      }
--    }
--
--    if (retval)
-+    if (!FT_Get_Char_Index (face, c)) {
-+      retval = FALSE;
-       break;
-+    }
-   }
-
-   g_free (string);
-@@ -371,7 +482,7 @@
-   if (self->priv->font_name != NULL) {
-       cairo_set_font_size (cr, title_size);
-       cairo_font_extents (cr, &font_extents);
--      cairo_text_extents (cr, self->priv->font_name, &extents);
-+      text_extents (cr, self->priv->font_name, &extents);
-       pixmap_height += font_extents.ascent + font_extents.descent +
-         extents.y_advance + LINE_SPACING;
-       pixmap_width = MAX (pixmap_width, extents.width + padding.left + 
padding.right);
-@@ -382,21 +493,21 @@
-   cairo_font_extents (cr, &font_extents);
-
-   if (self->priv->lowercase_text != NULL) {
--    cairo_text_extents (cr, self->priv->lowercase_text, &extents);
-+    text_extents (cr, self->priv->lowercase_text, &extents);
-     pixmap_height += font_extents.ascent + font_extents.descent +
-       extents.y_advance + LINE_SPACING;
-     pixmap_width = MAX (pixmap_width, extents.width + padding.left + 
padding.right);
-   }
-
-   if (self->priv->uppercase_text != NULL) {
--    cairo_text_extents (cr, self->priv->uppercase_text, &extents);
-+    text_extents (cr, self->priv->uppercase_text, &extents);
-     pixmap_height += font_extents.ascent + font_extents.descent +
-       extents.y_advance + LINE_SPACING;
-     pixmap_width = MAX (pixmap_width, extents.width + padding.left + 
padding.right);
-   }
-
-   if (self->priv->punctuation_text != NULL) {
--    cairo_text_extents (cr, self->priv->punctuation_text, &extents);
-+    text_extents (cr, self->priv->punctuation_text, &extents);
-     pixmap_height += font_extents.ascent + font_extents.descent +
-       extents.y_advance + LINE_SPACING;
-     pixmap_width = MAX (pixmap_width, extents.width + padding.left + 
padding.right);
-@@ -408,7 +519,7 @@
-     for (i = 0; i < n_sizes; i++) {
-       cairo_set_font_size (cr, sizes[i]);
-       cairo_font_extents (cr, &font_extents);
--      cairo_text_extents (cr, self->priv->sample_string, &extents);
-+      text_extents (cr, self->priv->sample_string, &extents);
-       pixmap_height += font_extents.ascent + font_extents.descent +
-         extents.y_advance + LINE_SPACING;
-       pixmap_width = MAX (pixmap_width, extents.width + padding.left + 
padding.right);
-@@ -529,7 +640,8 @@
-
-   for (i = 0; i < n_sizes; i++) {
-     cairo_set_font_size (cr, sizes[i]);
--    draw_string (self, cr, padding, self->priv->sample_string, &pos_y);
-+    if (self->priv->sample_string !=  NULL)
-+      draw_string (self, cr, padding, self->priv->sample_string, &pos_y);
-     if (pos_y > allocated_height)
-       break;
-   }
-diff -Naur sushi-3.18.0/src/libsushi/sushi-font-widget.h 
sushi-3.18.0-gst3/src/libsushi/sushi-font-widget.h
---- sushi-3.18.0/src/libsushi/sushi-font-widget.h      2014-11-20 
18:17:19.000000000 +0100
-+++ sushi-3.18.0-gst3/src/libsushi/sushi-font-widget.h 2016-01-20 
04:32:15.922830073 +0100
-@@ -29,6 +29,7 @@
- #include <glib-object.h>
- #include <gtk/gtk.h>
- #include <cairo/cairo-ft.h>
-+#include <hb-ft.h>
-
- G_BEGIN_DECLS
-
-diff -Naur sushi-3.18.0/src/libsushi/sushi-utils.c 
sushi-3.18.0-gst3/src/libsushi/sushi-utils.c
---- sushi-3.18.0/src/libsushi/sushi-utils.c    2015-07-19 19:41:51.000000000 
+0200
-+++ sushi-3.18.0-gst3/src/libsushi/sushi-utils.c       2016-01-20 
04:31:59.474401978 +0100
-@@ -25,7 +25,11 @@
-
- #include "sushi-utils.h"
-
-+#include <gtk/gtk.h>
-+
-+#ifdef GDK_WINDOWING_X11
- #include <gdk/gdkx.h>
-+#endif
-
- /**
-  * sushi_create_foreign_window:
-@@ -36,10 +40,12 @@
- GdkWindow *
- sushi_create_foreign_window (guint xid)
- {
--  GdkWindow *retval;
-+  GdkWindow *retval = NULL;
-
--  retval = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
--                                                   xid);
-+#ifdef GDK_WINDOWING_X11
-+  if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
-+    retval = gdk_x11_window_foreign_new_for_display (gdk_display_get_default 
(), xid);
-+#endif
-
-   return retval;
- }
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to