Hello community,

here is the log from the commit of package sysprof for openSUSE:Factory checked 
in at 2016-12-07 11:11:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysprof (Old)
 and      /work/SRC/openSUSE:Factory/.sysprof.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sysprof"

Changes:
--------
--- /work/SRC/openSUSE:Factory/sysprof/sysprof.changes  2016-11-09 
11:39:59.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.sysprof.new/sysprof.changes     2016-12-07 
11:11:54.000000000 +0100
@@ -1,0 +2,12 @@
+Wed Nov 30 10:24:02 UTC 2016 - [email protected]
+
+- Update to version 3.22.3:
+  + Fix expansion of function text in callgraph.
+  + Fix jump-to-function in callees list.
+  + Disable record button while generating callgraph profile.
+  + Ensure sysprof icons are available form libsysprof-ui-2.
+  + sysprof-cli requires --force to overwrite previous capture.
+  + Reduce code duplication in capture frame initialization.
+  + Updated translations.
+
+-------------------------------------------------------------------

Old:
----
  sysprof-3.22.2.tar.xz

New:
----
  sysprof-3.22.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sysprof.spec ++++++
--- /var/tmp/diff_new_pack.FbPVzx/_old  2016-12-07 11:11:55.000000000 +0100
+++ /var/tmp/diff_new_pack.FbPVzx/_new  2016-12-07 11:11:55.000000000 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           sysprof
-Version:        3.22.2
+Version:        3.22.3
 Release:        0
 Summary:        A system-wide Linux profiler
 License:        GPL-3.0+

++++++ sysprof-3.22.2.tar.xz -> sysprof-3.22.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/AUTHORS new/sysprof-3.22.3/AUTHORS
--- old/sysprof-3.22.2/AUTHORS  2016-04-16 06:14:10.000000000 +0200
+++ new/sysprof-3.22.3/AUTHORS  2016-11-28 23:04:12.000000000 +0100
@@ -1,18 +1,32 @@
 # Generated by Makefile. Do not edit.
 
+Anders Jonsson
+Balázs Meskó
 Bastien Nocera
 Behdad Esfahbod
 Christian Hergert
+Christian Kirbach
 Damien Lespiau
+Daniel Mustieles
+Dušan Kazik
+Enrico Nicoletto
+Gabor Kelemen
 Geoffrey Keating
+Hubert Figuière
 Jakub Steiner
 Javier Jardón
 Jeffrey Stedfast
+Jiri Grönroos
+Jussi Kukkonen
+Kalev Lember
 Kristian Høgsberg
+Marek Černocký
 Mario Blättermann
+Matej Urbančič
 Matthias Clasen
 Michel Dänzer
 M Joonas Pihlaja
+Mohammed Sadiq
 Nix
 Owen Taylor
 Paolo Borelli
@@ -20,6 +34,10 @@
 Pauli Nieminen
 Piotr Drąg
 Rafael Fontenelle
+Ray Strode
 Robert Love
 Søren Sandmann Pedersen
+Tiago Santos
+Timm Bäder
+Vito Caputo
 Мирослав Николић
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/ChangeLog new/sysprof-3.22.3/ChangeLog
--- old/sysprof-3.22.2/ChangeLog        2016-11-01 22:09:46.000000000 +0100
+++ new/sysprof-3.22.3/ChangeLog        2016-11-28 23:05:07.000000000 +0100
@@ -1,6 +1,143 @@
+commit 496f10e34a6324f9142442cfaa855e3b94d23224
+Author: Christian Hergert <[email protected]>
+Date:   Mon Nov 28 14:05:01 2016 -0800
+
+    release 3.22.3
+
+M      NEWS
+M      configure.ac
+
+commit 60305dc24b93ec5bfcdec2d9491bd32c393e6246
+Author: Christian Hergert <[email protected]>
+Date:  Mon Nov 28 14:04:46 2016 -0800
+
+    update AUTHORS
+
+M      AUTHORS
+
+commit 1e1f47c61af84b7e6b460e31d8b8f5dd6c825092
+Author: Piotr Drąg <[email protected]>
+Date:  Sun Nov 27 17:30:22 2016 +0100
+
+    Update Polish translation
+
+M      po/pl.po
+
+commit 87289e04212b2cde72ca53f7ce29c6a3b43322d9
+Author: Hubert Figuière <[email protected]>
+Date:  Sat Nov 26 10:03:21 2016 -0500
+
+    sysprof-cli: Don't overwrite capture file by default
+
+    Add -f / --force to allow overwrite
+
+    https://bugzilla.gnome.org/show_bug.cgi?id=775062
+
+M      tools/sysprof-cli.c
+
+commit 563a5e3e65c10eb7324d711e02a14cd0d8eb973a
+Author: Christian Hergert <[email protected]>
+Date:  Wed Nov 23 19:19:43 2016 -0800
+
+    theme-manager: ensure that icons are loaded
+
+    This uses the theme manager to ensure that we add the icon path for
+    consumers of the library.
+
+M      lib/sp-theme-manager.c
+
+commit 44ff1f03963a5ee6f09ef7bfd2fbb658494f634c
+Author: Christian Hergert <[email protected]>
+Date:  Wed Nov 23 19:15:38 2016 -0800
+
+    move icons to libsysprof resources
+
+M      lib/resources/libsysprof.gresource.xml
+M      src/resources/sysprof.gresource.xml
+
+commit f11aaa189f0897f7edb3a44b9b22349e258cd504
+Author: Christian Hergert <[email protected]>
+Date:  Sun Nov 20 20:26:34 2016 -0800
+
+    capture-writer: finalize if allocate failed
+
+M      lib/sp-capture-writer.c
+
+commit e97499b2a468e4c854ce5af2c9ed1af1aaa2c023
+Author: Vito Caputo <[email protected]>
+Date:  Sun Nov 20 16:59:20 2016 -0800
+
+    capture-writer: use frame initializer function
+
+M      lib/sp-capture-writer.c
+
+commit 9d8085a73b7850f654058fc743ddc1d5b12b7de0
+Author: Christian Hergert <[email protected]>
+Date:  Wed Nov 16 20:14:44 2016 -0800
+
+    window: disable record button while generating profile
+
+M      src/sp-window.c
+
+commit 63579451b5073b9ce3e7167bea5db2872d9c353d
+Author: Christian Hergert <[email protected]>
+Date:  Tue Nov 15 22:18:09 2016 -0800
+
+    alignment: set alignment on structs
+
+    This uses an alternate idea for setting the structure alignments. Lets
+    see if this silents the ARM builder cast alignment issues.
+
+    GSlice (which is what is used for GObjects) guarantees a 2-pointer
+    size
+    allocation, which means we can be ensured that the alignment is
+    at least
+    8 bytes.
+
+M      lib/sp-visualizer-ticks.c
+M      lib/sp-visualizer-ticks.h
+M      lib/sp-zoom-manager.c
+M      lib/sp-zoom-manager.h
+
+commit 40eb9a2c4ec3ecee6bfef3ff5a680cc135497cdf
+Author: Christian Hergert <[email protected]>
+Date:  Tue Nov 15 22:03:36 2016 -0800
+
+    callgraph-view: compare nodes by using data field
+
+    We could have multiple StackNodes that point at the same data. However
+    we might not have pointer equality. This uses the data pointer
+    that nodes
+    point at to determine equality.
+
+M      lib/sp-callgraph-view.c
+
+commit fc237f0a9bfd2fb0edacf1abca0ca80a164619b1
+Author: Christian Hergert <[email protected]>
+Date:  Sat Nov 12 14:22:12 2016 -0800
+
+    callgraph-view: ensure expand is set for function label
+
+    Using the .ui file to create the name cell does not allow us to
+    set the
+    expand property (it defaults to FALSE and cannot be changed). So
+    instead,
+    we just add the cell manually like we do for the tag cell.
+
+M      lib/resources/ui/sp-callgraph-view.ui
+M      lib/sp-callgraph-view.c
+
+commit e78f97d6328da313a072f54471dfafae8a921727
+Author: Enrico Nicoletto <[email protected]>
+Date:  Wed Nov 2 19:29:44 2016 +0000
+
+    Update Brazilian Portuguese translation
+
+M      po/pt_BR.po
+
 commit 4412a566be00f85db56287520a2e3ee6aff1bb96
 Author: Christian Hergert <[email protected]>
-Date:   Tue Nov 1 14:06:34 2016 -0700
+Date:  Tue Nov 1 14:06:34 2016 -0700
 
     release 3.22.2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/NEWS new/sysprof-3.22.3/NEWS
--- old/sysprof-3.22.2/NEWS     2016-11-01 22:06:14.000000000 +0100
+++ new/sysprof-3.22.3/NEWS     2016-11-28 23:01:17.000000000 +0100
@@ -1,3 +1,20 @@
+Overview of changes in Sysprof 3.22.3
+=====================================
+
+Changes since 3.22.2
+
+  * Fix expansion of function text in callgraph.
+  * Fix jump-to-function in callees list.
+  * Disable record button while generating callgraph profile.
+  * Ensure sysprof icons are available form libsysprof-ui-2.
+  * sysprof-cli requires --force to overwrite previous capture. [Hubert 
Figuière]
+  * Reduce code duplication in capture frame initialization. [Vito Caputo]
+
+Translations:
+
+  * Brazilian Portuguese and Polish translations were updated.
+    [Enrico Nicoletto, Piotr Drąg]
+
 Overview of changes in Sysprof 3.22.2
 =====================================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/configure new/sysprof-3.22.3/configure
--- old/sysprof-3.22.2/configure        2016-11-01 22:06:43.000000000 +0100
+++ new/sysprof-3.22.3/configure        2016-11-28 23:01:57.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for sysprof 3.22.2.
+# Generated by GNU Autoconf 2.69 for sysprof 3.22.3.
 #
 # Report bugs to <https://bugzilla.gnome.org/enter_bug.cgi?product=sysprof>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='sysprof'
 PACKAGE_TARNAME='sysprof'
-PACKAGE_VERSION='3.22.2'
-PACKAGE_STRING='sysprof 3.22.2'
+PACKAGE_VERSION='3.22.3'
+PACKAGE_STRING='sysprof 3.22.3'
 PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=sysprof'
 PACKAGE_URL=''
 
@@ -1434,7 +1434,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures sysprof 3.22.2 to adapt to many kinds of systems.
+\`configure' configures sysprof 3.22.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1504,7 +1504,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of sysprof 3.22.2:";;
+     short | recursive ) echo "Configuration of sysprof 3.22.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1664,7 +1664,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-sysprof configure 3.22.2
+sysprof configure 3.22.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2120,7 +2120,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by sysprof $as_me 3.22.2, which was
+It was created by sysprof $as_me 3.22.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2581,7 +2581,7 @@
 
 MINOR_VERSION=22
 
-MICRO_VERSION=2
+MICRO_VERSION=3
 
 API_VERSION=2
 
@@ -3073,7 +3073,7 @@
 
 # Define the identity of the package.
  PACKAGE='sysprof'
- VERSION='3.22.2'
+ VERSION='3.22.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -23381,7 +23381,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by sysprof $as_me 3.22.2, which was
+This file was extended by sysprof $as_me 3.22.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23447,7 +23447,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-sysprof config.status 3.22.2
+sysprof config.status 3.22.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/configure.ac 
new/sysprof-3.22.3/configure.ac
--- old/sysprof-3.22.2/configure.ac     2016-11-01 22:06:26.000000000 +0100
+++ new/sysprof-3.22.3/configure.ac     2016-11-28 23:01:40.000000000 +0100
@@ -6,7 +6,7 @@
 dnl ***********************************************************************
 m4_define([major_version],[3])
 m4_define([minor_version],[22])
-m4_define([micro_version],[2])
+m4_define([micro_version],[3])
 m4_define([package_version],[major_version.minor_version.micro_version])
 
m4_define([bug_report_url],[https://bugzilla.gnome.org/enter_bug.cgi?product=sysprof])
 m4_define([api_version],[2])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sysprof-3.22.2/lib/resources/libsysprof.gresource.xml 
new/sysprof-3.22.3/lib/resources/libsysprof.gresource.xml
--- old/sysprof-3.22.2/lib/resources/libsysprof.gresource.xml   2016-10-10 
06:03:03.000000000 +0200
+++ new/sysprof-3.22.3/lib/resources/libsysprof.gresource.xml   2016-11-24 
04:14:39.000000000 +0100
@@ -5,6 +5,14 @@
     <file compressed="true">css/SpVisualizerView-Adwaita.css</file>
     <file compressed="true">css/SpVisualizerView-Adwaita-dark.css</file>
 
+    <!-- Application icons -->
+    <file 
alias="icons/16x16/apps/sysprof.png">../../data/icons/16x16/apps/sysprof.png</file>
+    <file 
alias="icons/24x24/apps/sysprof.png">../../data/icons/24x24/apps/sysprof.png</file>
+    <file 
alias="icons/32x32/apps/sysprof.png">../../data/icons/32x32/apps/sysprof.png</file>
+    <file 
alias="icons/48x48/apps/sysprof.png">../../data/icons/48x48/apps/sysprof.png</file>
+    <file 
alias="icons/256x256/apps/sysprof.png">../../data/icons/256x256/apps/sysprof.png</file>
+    <file 
alias="icons/scalable/apps/sysprof-symbolic.svg">../../data/icons/scalable/apps/sysprof-symbolic.svg</file>
+
     <file compressed="true">ui/sp-callgraph-view.ui</file>
     <file compressed="true">ui/sp-empty-state-view.ui</file>
     <file compressed="true">ui/sp-failed-state-view.ui</file>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/resources/ui/sp-callgraph-view.ui 
new/sysprof-3.22.3/lib/resources/ui/sp-callgraph-view.ui
--- old/sysprof-3.22.2/lib/resources/ui/sp-callgraph-view.ui    2016-04-12 
13:24:36.000000000 +0200
+++ new/sysprof-3.22.3/lib/resources/ui/sp-callgraph-view.ui    2016-11-12 
23:22:27.000000000 +0100
@@ -146,14 +146,6 @@
                     <property name="sizing">fixed</property>
                     <property name="sort-column-id">0</property>
                     <property name="title" 
translatable="yes">Descendants</property>
-                    <child>
-                      <object class="GtkCellRendererText">
-                        <property name="ellipsize">middle</property>
-                      </object>
-                      <attributes>
-                        <attribute name="text">0</attribute>
-                      </attributes>
-                    </child>
                   </object>
                 </child>
                 <child>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-callgraph-view.c 
new/sysprof-3.22.3/lib/sp-callgraph-view.c
--- old/sysprof-3.22.2/lib/sp-callgraph-view.c  2016-10-11 01:19:54.000000000 
+0200
+++ new/sysprof-3.22.3/lib/sp-callgraph-view.c  2016-11-16 07:03:40.000000000 
+0100
@@ -526,7 +526,7 @@
                               COLUMN_POINTER, &item,
                               -1);
 
-          if (item == node)
+          if (item != NULL && item->data == node->data)
             {
               GtkTreeSelection *selection;
 
@@ -796,6 +796,12 @@
                     G_CALLBACK (descendants_view_move_cursor_cb),
                     NULL);
 
+  cell = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT,
+                       "ellipsize", PANGO_ELLIPSIZE_MIDDLE,
+                       "xalign", 0.0f,
+                       NULL);
+  gtk_tree_view_column_pack_start (priv->descendants_name_column, cell, TRUE);
+  gtk_tree_view_column_add_attribute (priv->descendants_name_column, cell, 
"text", 0);
 
   cell = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT,
                        "foreground", "#666666",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-capture-writer.c 
new/sysprof-3.22.3/lib/sp-capture-writer.c
--- old/sysprof-3.22.2/lib/sp-capture-writer.c  2016-10-16 22:23:37.000000000 
+0200
+++ new/sysprof-3.22.3/lib/sp-capture-writer.c  2016-11-21 05:25:41.000000000 
+0100
@@ -101,6 +101,24 @@
                      sp_capture_writer_ref, sp_capture_writer_unref)
 #endif
 
+static inline void
+sp_capture_writer_frame_init (SpCaptureFrame     *frame_,
+                              gint                len,
+                              gint                cpu,
+                              GPid                pid,
+                              gint64              time_,
+                              SpCaptureFrameType  type)
+{
+  g_assert (frame_ != NULL);
+
+  frame_->len = len;
+  frame_->cpu = cpu;
+  frame_->pid = pid;
+  frame_->time = time_;
+  frame_->type = type;
+  frame_->padding = 0;
+}
+
 static void
 sp_capture_writer_finalize (SpCaptureWriter *self)
 {
@@ -191,6 +209,30 @@
   return TRUE;
 }
 
+static inline gpointer
+sp_capture_writer_allocate (SpCaptureWriter *self,
+                            gsize           *len)
+{
+  gpointer p;
+
+  g_assert (self != NULL);
+  g_assert (len != NULL);
+  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
+
+  sp_capture_writer_realign (len);
+
+  if (!sp_capture_writer_ensure_space_for (self, *len))
+    return NULL;
+
+  p = (gpointer)&self->buf[self->pos];
+
+  self->pos += *len;
+
+  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
+
+  return p;
+}
+
 static gboolean
 sp_capture_writer_flush_jitmap (SpCaptureWriter *self)
 {
@@ -209,11 +251,12 @@
 
   sp_capture_writer_realign (&len);
 
-  jitmap.frame.len = len;
-  jitmap.frame.cpu = -1;
-  jitmap.frame.pid = getpid ();
-  jitmap.frame.time = SP_CAPTURE_CURRENT_TIME;
-  jitmap.frame.type = SP_CAPTURE_FRAME_JITMAP;
+  sp_capture_writer_frame_init (&jitmap.frame,
+                                len,
+                                -1,
+                                getpid (),
+                                SP_CAPTURE_CURRENT_TIME,
+                                SP_CAPTURE_FRAME_JITMAP);
   jitmap.n_jitmaps = self->addr_hash_size;
 
   if (sizeof jitmap != write (self->fd, &jitmap, sizeof jitmap))
@@ -368,6 +411,7 @@
   SpCaptureWriter *self;
   SpCaptureFileHeader *header;
   GTimeVal tv;
+  gsize header_len = sizeof(*header);
 
   if (buffer_size == 0)
     buffer_size = DEFAULT_BUFFER_SIZE;
@@ -388,7 +432,14 @@
   g_get_current_time (&tv);
   nowstr = g_time_val_to_iso8601 (&tv);
 
-  header = (SpCaptureFileHeader *)(gpointer)self->buf;
+  header = sp_capture_writer_allocate (self, &header_len);
+
+  if (header == NULL)
+    {
+      sp_capture_writer_finalize (self);
+      return NULL;
+    }
+
   header->magic = SP_CAPTURE_MAGIC;
   header->version = 1;
 #ifdef G_LITTLE_ENDIAN
@@ -402,8 +453,6 @@
   header->end_time = 0;
   memset (header->suffix, 0, sizeof header->suffix);
 
-  self->pos += sizeof *header;
-
   if (!sp_capture_writer_flush_data (self))
     {
       sp_capture_writer_finalize (self);
@@ -460,25 +509,20 @@
     filename = "";
 
   g_assert (self != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
   g_assert (filename != NULL);
 
   len = sizeof *ev + strlen (filename) + 1;
 
-  sp_capture_writer_realign (&len);
-
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  ev = (SpCaptureMap *)sp_capture_writer_allocate (self, &len);
+  if (!ev)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  ev = (SpCaptureMap *)(gpointer)&self->buf[self->pos];
-  ev->frame.len = len;
-  ev->frame.cpu = cpu;
-  ev->frame.pid = pid;
-  ev->frame.time = time;
-  ev->frame.type = SP_CAPTURE_FRAME_MAP;
-  ev->frame.padding = 0;
+  sp_capture_writer_frame_init (&ev->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_MAP);
   ev->start = start;
   ev->end = end;
   ev->offset = offset;
@@ -487,10 +531,6 @@
   g_strlcpy (ev->filename, filename, len - sizeof *ev);
   ev->filename[len - sizeof *ev - 1] = '\0';
 
-  self->pos += ev->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
   self->stat.frame_count[SP_CAPTURE_FRAME_MAP]++;
 
   return TRUE;
@@ -528,33 +568,24 @@
     cmdline = "";
 
   g_assert (self != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
   g_assert (cmdline != NULL);
 
   len = sizeof *ev + strlen (cmdline) + 1;
 
-  sp_capture_writer_realign (&len);
-
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  ev = (SpCaptureProcess *)sp_capture_writer_allocate (self, &len);
+  if (!ev)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  ev = (SpCaptureProcess *)(gpointer)&self->buf[self->pos];
-  ev->frame.len = len;
-  ev->frame.cpu = cpu;
-  ev->frame.pid = pid;
-  ev->frame.time = time;
-  ev->frame.type = SP_CAPTURE_FRAME_PROCESS;
-  ev->frame.padding = 0;
+  sp_capture_writer_frame_init (&ev->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_PROCESS);
 
   g_strlcpy (ev->cmdline, cmdline, len - sizeof *ev);
   ev->cmdline[len - sizeof *ev - 1] = '\0';
 
-  self->pos += ev->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
   self->stat.frame_count[SP_CAPTURE_FRAME_PROCESS]++;
 
   return TRUE;
@@ -572,32 +603,23 @@
   gsize len;
 
   g_assert (self != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
 
   len = sizeof *ev + (n_addrs * sizeof (SpCaptureAddress));
 
-  sp_capture_writer_realign (&len);
-
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  ev = (SpCaptureSample *)sp_capture_writer_allocate (self, &len);
+  if (!ev)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  ev = (SpCaptureSample *)(gpointer)&self->buf[self->pos];
-  ev->frame.len = len;
-  ev->frame.cpu = cpu;
-  ev->frame.pid = pid;
-  ev->frame.time = time;
-  ev->frame.type = SP_CAPTURE_FRAME_SAMPLE;
-  ev->frame.padding = 0;
+  sp_capture_writer_frame_init (&ev->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_SAMPLE);
   ev->n_addrs = n_addrs;
 
   memcpy (ev->addrs, addrs, (n_addrs * sizeof (SpCaptureAddress)));
 
-  self->pos += ev->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
   self->stat.frame_count[SP_CAPTURE_FRAME_SAMPLE]++;
 
   return TRUE;
@@ -614,28 +636,19 @@
   gsize len = sizeof *ev;
 
   g_assert (self != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
 
-  sp_capture_writer_realign (&len);
-
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  ev = (SpCaptureFork *)sp_capture_writer_allocate (self, &len);
+  if (!ev)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  ev = (SpCaptureFork *)(gpointer)&self->buf[self->pos];
-  ev->frame.len = len;
-  ev->frame.cpu = cpu;
-  ev->frame.pid = pid;
-  ev->frame.time = time;
-  ev->frame.type = SP_CAPTURE_FRAME_FORK;
-  ev->frame.padding = 0;
+  sp_capture_writer_frame_init (&ev->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_FORK);
   ev->child_pid = child_pid;
 
-  self->pos += ev->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
   self->stat.frame_count[SP_CAPTURE_FRAME_FORK]++;
 
   return TRUE;
@@ -651,26 +664,17 @@
   gsize len = sizeof *ev;
 
   g_assert (self != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  sp_capture_writer_realign (&len);
 
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  ev = (SpCaptureExit *)sp_capture_writer_allocate (self, &len);
+  if (!ev)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  ev = (SpCaptureExit *)(gpointer)&self->buf[self->pos];
-  ev->frame.len = len;
-  ev->frame.cpu = cpu;
-  ev->frame.pid = pid;
-  ev->frame.time = time;
-  ev->frame.type = SP_CAPTURE_FRAME_EXIT;
-  ev->frame.padding = 0;
-
-  self->pos += ev->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
+  sp_capture_writer_frame_init (&ev->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_EXIT);
 
   self->stat.frame_count[SP_CAPTURE_FRAME_EXIT]++;
 
@@ -687,28 +691,19 @@
   gsize len = sizeof *ev;
 
   g_assert (self != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  sp_capture_writer_realign (&len);
 
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  ev = (SpCaptureTimestamp *)sp_capture_writer_allocate (self, &len);
+  if (!ev)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  ev = (SpCaptureTimestamp *)(gpointer)&self->buf[self->pos];
-  ev->frame.len = len;
-  ev->frame.cpu = cpu;
-  ev->frame.pid = pid;
-  ev->frame.time = time;
-  ev->frame.type = SP_CAPTURE_FRAME_TIMESTAMP;
-  ev->frame.padding = 0;
-
-  self->pos += ev->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
+  sp_capture_writer_frame_init (&ev->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_TIMESTAMP);
 
-  self->stat.frame_count[SP_CAPTURE_FRAME_TIMESTAMP]++;
+    self->stat.frame_count[SP_CAPTURE_FRAME_TIMESTAMP]++;
 
   return TRUE;
 }
@@ -1020,37 +1015,28 @@
 
   g_assert (self != NULL);
   g_assert (counters != NULL);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
 
   if (n_counters == 0)
     return TRUE;
 
   len = sizeof *def + (sizeof *counters * n_counters);
 
-  sp_capture_writer_realign (&len);
-
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  def = (SpCaptureFrameCounterDefine *)sp_capture_writer_allocate (self, &len);
+  if (!def)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  def = (SpCaptureFrameCounterDefine *)&self->buf[self->pos];
-  def->frame.len = len;
-  def->frame.cpu = cpu;
-  def->frame.pid = pid;
-  def->frame.time = time;
-  def->frame.type = SP_CAPTURE_FRAME_CTRDEF;
-  def->frame.padding = 0;
+  sp_capture_writer_frame_init (&def->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_CTRDEF);
   def->padding = 0;
   def->n_counters = n_counters;
 
   for (i = 0; i < n_counters; i++)
     def->counters[i] = counters[i];
 
-  self->pos += def->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
   self->stat.frame_count[SP_CAPTURE_FRAME_CTRDEF]++;
 
   return TRUE;
@@ -1075,7 +1061,6 @@
   g_assert (self != NULL);
   g_assert (counters_ids != NULL);
   g_assert (values != NULL || !n_counters);
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
 
   if (n_counters == 0)
     return TRUE;
@@ -1087,20 +1072,16 @@
 
   len = sizeof *set + (n_groups * sizeof (SpCaptureCounterValues));
 
-  sp_capture_writer_realign (&len);
-
-  if (!sp_capture_writer_ensure_space_for (self, len))
+  set = (SpCaptureFrameCounterSet *)sp_capture_writer_allocate (self, &len);
+  if (!set)
     return FALSE;
 
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
-  set = (SpCaptureFrameCounterSet *)&self->buf[self->pos];
-  set->frame.len = len;
-  set->frame.cpu = cpu;
-  set->frame.pid = pid;
-  set->frame.time = time;
-  set->frame.type = SP_CAPTURE_FRAME_CTRSET;
-  set->frame.padding = 0;
+  sp_capture_writer_frame_init (&set->frame,
+                                len,
+                                cpu,
+                                pid,
+                                time,
+                                SP_CAPTURE_FRAME_CTRSET);
   set->padding = 0;
   set->n_values = n_groups;
 
@@ -1118,10 +1099,6 @@
         }
     }
 
-  self->pos += set->frame.len;
-
-  g_assert ((self->pos % SP_CAPTURE_ALIGN) == 0);
-
   self->stat.frame_count[SP_CAPTURE_FRAME_CTRSET]++;
 
   return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-theme-manager.c 
new/sysprof-3.22.3/lib/sp-theme-manager.c
--- old/sysprof-3.22.2/lib/sp-theme-manager.c   2016-10-11 01:19:54.000000000 
+0200
+++ new/sysprof-3.22.3/lib/sp-theme-manager.c   2016-11-24 04:17:51.000000000 
+0100
@@ -176,6 +176,8 @@
 sp_theme_manager_init (SpThemeManager *self)
 {
   self->theme_resources = g_hash_table_new_full (g_str_hash, g_str_equal, 
NULL, theme_resource_free);
+
+  gtk_icon_theme_add_resource_path (gtk_icon_theme_get_default (), 
"/org/gnome/sysprof/icons");
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-visualizer-ticks.c 
new/sysprof-3.22.3/lib/sp-visualizer-ticks.c
--- old/sysprof-3.22.2/lib/sp-visualizer-ticks.c        2016-10-14 
20:40:33.000000000 +0200
+++ new/sysprof-3.22.3/lib/sp-visualizer-ticks.c        2016-11-16 
07:13:31.000000000 +0100
@@ -34,7 +34,7 @@
   gint64 epoch;
   gint64 begin_time;
   gint64 end_time;
-} __attribute__((aligned(8)));
+};
 
 enum {
   TICK_MINUTES,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-visualizer-ticks.h 
new/sysprof-3.22.3/lib/sp-visualizer-ticks.h
--- old/sysprof-3.22.2/lib/sp-visualizer-ticks.h        2016-10-11 
01:19:54.000000000 +0200
+++ new/sysprof-3.22.3/lib/sp-visualizer-ticks.h        2016-11-16 
07:13:26.000000000 +0100
@@ -25,6 +25,8 @@
 
 #define SP_TYPE_VISUALIZER_TICKS (sp_visualizer_ticks_get_type())
 
+typedef struct _SpVisualizerTicks SpVisualizerTicks 
__attribute__((aligned(8)));
+
 G_DECLARE_FINAL_TYPE (SpVisualizerTicks, sp_visualizer_ticks, SP, 
VISUALIZER_TICKS, GtkDrawingArea)
 
 GtkWidget *sp_visualizer_ticks_new            (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-zoom-manager.c 
new/sysprof-3.22.3/lib/sp-zoom-manager.c
--- old/sysprof-3.22.2/lib/sp-zoom-manager.c    2016-10-14 20:40:02.000000000 
+0200
+++ new/sysprof-3.22.3/lib/sp-zoom-manager.c    2016-11-16 07:15:18.000000000 
+0100
@@ -32,7 +32,7 @@
   gdouble min_zoom;
   gdouble max_zoom;
   gdouble zoom;
-} __attribute__((aligned(8)));
+};
 
 enum {
   PROP_0,
@@ -108,7 +108,7 @@
                               GValue     *value,
                               GParamSpec *pspec)
 {
-  SpZoomManager *self = (SpZoomManager *)object;
+  SpZoomManager *self = SP_ZOOM_MANAGER (object);
 
   switch (prop_id)
     {
@@ -143,7 +143,7 @@
                               const GValue *value,
                               GParamSpec   *pspec)
 {
-  SpZoomManager *self = (SpZoomManager *)object;
+  SpZoomManager *self = SP_ZOOM_MANAGER (object);
 
   switch (prop_id)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sp-zoom-manager.h 
new/sysprof-3.22.3/lib/sp-zoom-manager.h
--- old/sysprof-3.22.2/lib/sp-zoom-manager.h    2016-10-11 01:19:54.000000000 
+0200
+++ new/sysprof-3.22.3/lib/sp-zoom-manager.h    2016-11-16 07:14:54.000000000 
+0100
@@ -25,6 +25,8 @@
 
 #define SP_TYPE_ZOOM_MANAGER (sp_zoom_manager_get_type())
 
+typedef struct _SpZoomManager SpZoomManager __attribute__((aligned(8)));
+
 G_DECLARE_FINAL_TYPE (SpZoomManager, sp_zoom_manager, SP, ZOOM_MANAGER, 
GObject)
 
 SpZoomManager *sp_zoom_manager_new              (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/lib/sysprof-version.h 
new/sysprof-3.22.3/lib/sysprof-version.h
--- old/sysprof-3.22.2/lib/sysprof-version.h    2016-11-01 22:06:46.000000000 
+0100
+++ new/sysprof-3.22.3/lib/sysprof-version.h    2016-11-28 23:02:28.000000000 
+0100
@@ -50,14 +50,14 @@
  *
  * sysprof micro version component (e.g. 3 if %SYSPROF_VERSION is 1.2.3)
  */
-#define SYSPROF_MICRO_VERSION (2)
+#define SYSPROF_MICRO_VERSION (3)
 
 /**
  * SYSPROF_VERSION
  *
  * sysprof version.
  */
-#define SYSPROF_VERSION (3.22.2)
+#define SYSPROF_VERSION (3.22.3)
 
 /**
  * SYSPROF_VERSION_S:
@@ -65,7 +65,7 @@
  * sysprof version, encoded as a string, useful for printing and
  * concatenation.
  */
-#define SYSPROF_VERSION_S "3.22.2"
+#define SYSPROF_VERSION_S "3.22.3"
 
 #define SYSPROF_ENCODE_VERSION(major,minor,micro) \
         ((major) << 24 | (minor) << 16 | (micro) << 8)
Files old/sysprof-3.22.2/po/pl.gmo and new/sysprof-3.22.3/po/pl.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/po/pl.po new/sysprof-3.22.3/po/pl.po
--- old/sysprof-3.22.2/po/pl.po 2016-10-11 00:51:48.000000000 +0200
+++ new/sysprof-3.22.3/po/pl.po 2016-11-28 22:55:51.000000000 +0100
@@ -9,8 +9,8 @@
 "Project-Id-Version: sysprof\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
 "product=sysprof&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2016-10-10 10:23+0000\n"
-"PO-Revision-Date: 2016-10-10 12:39+0200\n"
+"POT-Creation-Date: 2016-11-26 23:21+0000\n"
+"PO-Revision-Date: 2016-11-27 17:30+0100\n"
 "Last-Translator: Piotr Drąg <[email protected]>\n"
 "Language-Team: Polish <[email protected]>\n"
 "Language: pl\n"
@@ -100,7 +100,7 @@
 
 #: lib/resources/ui/sp-callgraph-view.ui:40
 #: lib/resources/ui/sp-callgraph-view.ui:101
-#: lib/resources/ui/sp-callgraph-view.ui:164
+#: lib/resources/ui/sp-callgraph-view.ui:156
 msgid "Self"
 msgstr "Własne"
 
@@ -117,7 +117,7 @@
 msgid "Descendants"
 msgstr "Elementy potomne"
 
-#: lib/resources/ui/sp-callgraph-view.ui:180
+#: lib/resources/ui/sp-callgraph-view.ui:172
 msgid "Cumulative"
 msgstr "Narastająco"
 
@@ -319,7 +319,7 @@
 msgid "_Quit"
 msgstr "Za_kończ"
 
-#: src/resources/ui/sp-window.ui:30 src/sp-window.c:309
+#: src/resources/ui/sp-window.ui:30 src/sp-window.c:313
 msgid "Not running"
 msgstr "Bezczynny"
 
@@ -347,7 +347,7 @@
 msgid "Zoom in (Ctrl++)"
 msgstr "Powiększa (Ctrl++)"
 
-#: src/resources/ui/sp-window.ui:277 src/sp-window.c:999
+#: src/resources/ui/sp-window.ui:277 src/sp-window.c:1003
 msgid "Open"
 msgstr "Otwórz"
 
@@ -391,90 +391,99 @@
 msgid "%s - %s"
 msgstr "%s — %s"
 
-#: src/sp-window.c:230
+#: src/sp-window.c:232
 msgid "Not enough samples were collected to generate a callgraph"
 msgstr "Zebrano za mało próbek, aby utworzyć wykres wywołań"
 
-#: src/sp-window.c:301 src/sp-window.c:345
+#: src/sp-window.c:305 src/sp-window.c:349
 msgid "Record"
 msgstr "Nagrywaj"
 
-#: src/sp-window.c:321
+#: src/sp-window.c:325
 msgid "Stop"
 msgstr "Zatrzymaj"
 
-#: src/sp-window.c:326
+#: src/sp-window.c:330
 msgid "Recording…"
 msgstr "Nagrywanie…"
 
-#: src/sp-window.c:337
+#: src/sp-window.c:341
 msgid "Building profile…"
 msgstr "Budowanie profilu…"
 
 #. SpProfiler::stopped will move us to generating
-#: src/sp-window.c:438
+#: src/sp-window.c:442
 msgid "Stopping…"
 msgstr "Zatrzymywanie…"
 
-#: src/sp-window.c:590
+#: src/sp-window.c:594
 msgid "Save Capture As"
 msgstr "Zapis przechwytywania jako"
 
-#: src/sp-window.c:593
+#: src/sp-window.c:597
 msgid "Save"
 msgstr "Zapisz"
 
-#: src/sp-window.c:594 src/sp-window.c:1000
+#: src/sp-window.c:598 src/sp-window.c:1004
 msgid "Cancel"
 msgstr "Anuluj"
 
-#: src/sp-window.c:624
+#: src/sp-window.c:628
 #, c-format
 msgid "An error occurred while attempting to save your capture: %s"
 msgstr "Wystąpił błąd podczas zapisywania przechwytywania: %s"
 
-#: src/sp-window.c:969
+#: src/sp-window.c:973
 #, c-format
 msgid "The file \"%s\" could not be opened. Only local files are supported."
 msgstr "Nie można otworzyć pliku „%s”. Obsługiwane są tylko lokalne pliki."
 
-#: src/sp-window.c:996
+#: src/sp-window.c:1000
 msgid "Open Capture"
 msgstr "Otwarcie przechwytywania"
 
-#: src/sp-window.c:1003
+#: src/sp-window.c:1007
 msgid "Sysprof Captures"
 msgstr "Przechwytywania Sysprof"
 
-#: src/sp-window.c:1008
+#: src/sp-window.c:1012
 msgid "All Files"
 msgstr "Wszystkie pliki"
 
-#: tools/sysprof-cli.c:95
+#: tools/sysprof-cli.c:97
 msgid "Make sysprof specific to a task"
 msgstr "Sysprof dla konkretnego zadania"
 
-#: tools/sysprof-cli.c:95
+#: tools/sysprof-cli.c:97
 msgid "PID"
 msgstr "PID"
 
-#: tools/sysprof-cli.c:96
+#: tools/sysprof-cli.c:98
 msgid "Run a command and profile the process"
 msgstr "Wykonuje polecenie i profiluje proces"
 
-#: tools/sysprof-cli.c:96
+#: tools/sysprof-cli.c:98
 msgid "COMMAND"
 msgstr "POLECENIE"
 
-#: tools/sysprof-cli.c:97
+#: tools/sysprof-cli.c:99
+msgid "Force overwrite the capture file"
+msgstr "Wymusza zastąpienie pliku przechwytywania"
+
+#: tools/sysprof-cli.c:100
 msgid "Print the sysprof-cli version and exit"
 msgstr "Wyświetla wersję sysprof-cli i kończy działanie"
 
-#: tools/sysprof-cli.c:103
+#: tools/sysprof-cli.c:106
 msgid "[CAPTURE_FILE] - Sysprof"
 msgstr "[PLIK_PRZECHWYTYWANIA] — Sysprof"
 
-#: tools/sysprof-cli.c:122
+#: tools/sysprof-cli.c:125
 #, c-format
 msgid "Too many arguments were passed to sysprof-cli:"
 msgstr "Przekazano za dużo parametrów do polecenia sysprof-cli:"
+
+#: tools/sysprof-cli.c:165
+#, c-format
+msgid "%s exists. Use --force to overwrite\n"
+msgstr "%s istnieje. Użycie opcji „--force” zastąpi\n"
Files old/sysprof-3.22.2/po/pt_BR.gmo and new/sysprof-3.22.3/po/pt_BR.gmo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/po/pt_BR.po 
new/sysprof-3.22.3/po/pt_BR.po
--- old/sysprof-3.22.2/po/pt_BR.po      2016-09-24 04:14:13.000000000 +0200
+++ new/sysprof-3.22.3/po/pt_BR.po      2016-11-12 23:22:27.000000000 +0100
@@ -2,25 +2,26 @@
 # Copyright (C) 2016 sysprof's COPYRIGHT HOLDER
 # This file is distributed under the same license as the sysprof package.
 # Rafael Fontenelle <[email protected]>, 2016.
+# Enrico Nicoletto <[email protected]>, 2016.
 msgid ""
 msgstr ""
 "Project-Id-Version: sysprof master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=sysprof";
-"&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2016-05-03 09:42+0000\n"
-"PO-Revision-Date: 2016-05-03 15:33-0200\n"
-"Last-Translator: Rafael Fontenelle <[email protected]>\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?";
+"product=sysprof&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2016-11-01 21:11+0000\n"
+"PO-Revision-Date: 2016-11-01 22:40-0200\n"
+"Last-Translator: Enrico Nicoletto <[email protected]>\n"
 "Language-Team: Brazilian Portuguese <[email protected]>\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Virtaal 0.7.1\n"
+"X-Generator: Poedit 1.8.7\n"
 "X-Project-Style: gnome\n"
 
 #: data/org.gnome.Sysprof2.desktop:4 src/resources/ui/sp-window.ui:12
-#: src/resources/ui/sp-window.ui:20 src/sp-application.c:167
+#: src/resources/ui/sp-window.ui:20 src/sp-application.c:181
 msgid "Sysprof"
 msgstr "Sysprof"
 
@@ -32,7 +33,8 @@
 msgid "Profile an application or entire system."
 msgstr "Perfile um aplicativo ou todo o sistema."
 
-#: data/org.gnome.Sysprof2.desktop:9
+#. Translators: Do NOT translate or transliterate this text (this is an icon 
file name)!
+#: data/org.gnome.Sysprof2.desktop:10
 msgid "sysprof"
 msgstr "sysprof"
 
@@ -135,40 +137,40 @@
 msgid "Something unexpectedly went wrong while trying to profile your system."
 msgstr "Algum erro inesperado ocorreu enquanto tentava perfilar o seu sistema."
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:56
+#: lib/resources/ui/sp-profiler-menu-button.ui:58
 msgid "Profile my _entire system"
 msgstr "Perfilar _todo o meu sistema"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:93
+#: lib/resources/ui/sp-profiler-menu-button.ui:95
 msgid "Search"
 msgstr "Pesquisar"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:117
+#: lib/resources/ui/sp-profiler-menu-button.ui:121
 msgid "Existing Process"
 msgstr "Processo existente"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:127
+#: lib/resources/ui/sp-profiler-menu-button.ui:131
 msgid "Command Line"
 msgstr "Linha de comando"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:146
+#: lib/resources/ui/sp-profiler-menu-button.ui:150
 msgid "Environment"
 msgstr "Ambiente"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:160
+#: lib/resources/ui/sp-profiler-menu-button.ui:164
 msgid "Inherit current environment"
 msgstr "Herdar o ambiente atual"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:178
+#: lib/resources/ui/sp-profiler-menu-button.ui:182
 msgid "Key"
 msgstr "Chave"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:193
+#: lib/resources/ui/sp-profiler-menu-button.ui:197
 msgid "Value"
 msgstr "Valor"
 
-#: lib/resources/ui/sp-profiler-menu-button.ui:211
-#: lib/sp-profiler-menu-button.c:116
+#: lib/resources/ui/sp-profiler-menu-button.ui:215
+#: lib/sp-profiler-menu-button.c:118
 msgid "New Process"
 msgstr "Novo processo"
 
@@ -183,7 +185,7 @@
 "Você sabia que você pode usar o <a href=\"help:sysprof\">sysprof-cli</a> "
 "para gravar?"
 
-#: lib/sp-callgraph-profile.c:318
+#: lib/sp-callgraph-profile.c:414
 msgid "Sysprof was unable to generate a callgraph from the system capture."
 msgstr ""
 "Sysprof não foi capaz de gerar um gráfico de chamadas da captura do sistema."
@@ -201,18 +203,17 @@
 msgid "An error occurred while attempting to access performance counters: %s"
 msgstr "Ocorreu um erro enquanto tentava acessar contadores de desempenho: %s"
 
-#: lib/sp-profiler-menu-button.c:114 lib/sp-profiler-menu-button.c:129
+#: lib/sp-profiler-menu-button.c:116 lib/sp-profiler-menu-button.c:131
 msgid "All Processes"
 msgstr "Todos processos"
 
-#: lib/sp-profiler-menu-button.c:135
+#: lib/sp-profiler-menu-button.c:137
 #, c-format
 msgid "Process %d"
 msgstr "Processo %d"
 
-#: lib/sp-profiler-menu-button.c:140
+#: lib/sp-profiler-menu-button.c:142
 #, c-format
-#| msgid "%u Processes"
 msgid "%u Process"
 msgid_plural "%u Processes"
 msgstr[0] "%u processo"
@@ -222,6 +223,79 @@
 msgid "The command line arguments provided are invalid"
 msgstr "Os argumentos de linha de comando fornecidos são inválidos"
 
+#: src/resources/gtk/help-overlay.ui:8
+msgctxt "shortcut window"
+msgid "Sysprof Shortcuts"
+msgstr "Atalhos do Sysprof"
+
+#: src/resources/gtk/help-overlay.ui:12
+msgctxt "shortcut window"
+msgid "Recording"
+msgstr "Gravação"
+
+#: src/resources/gtk/help-overlay.ui:16
+msgctxt "shortcut window"
+msgid "Stop recording"
+msgstr "Parar gravação"
+
+#: src/resources/gtk/help-overlay.ui:25
+msgctxt "shortcut window"
+msgid "Callgraph"
+msgstr "Gráfico de chamadas"
+
+#: src/resources/gtk/help-overlay.ui:29
+msgctxt "shortcut window"
+msgid "Expand function"
+msgstr "Expandir função"
+
+#: src/resources/gtk/help-overlay.ui:30
+msgctxt "shortcut window"
+msgid "Shows the direct descendants of the callgraph function"
+msgstr "Mostra os descendentes diretos da função de gráfico de chamadas"
+
+#: src/resources/gtk/help-overlay.ui:37
+msgctxt "shortcut window"
+msgid "Collapse function"
+msgstr "Recolher função"
+
+#: src/resources/gtk/help-overlay.ui:38
+msgctxt "shortcut window"
+msgid "Hides all callgraph descendants below the selected function"
+msgstr ""
+"Oculta todos os descendentes do gráfico de chamadas acima da função "
+"selecionada"
+
+#: src/resources/gtk/help-overlay.ui:45
+msgctxt "shortcut window"
+msgid "Jump into function"
+msgstr "Pular para a função"
+
+#: src/resources/gtk/help-overlay.ui:46
+msgctxt "shortcut window"
+msgid "Selects the function or file as the top of the callgraph"
+msgstr ""
+"Seleciona a função ou arquivo como a parte superior do gráfico de chamadas"
+
+#: src/resources/gtk/help-overlay.ui:55
+msgctxt "shortcut window"
+msgid "Visualizers"
+msgstr "Visualizadores"
+
+#: src/resources/gtk/help-overlay.ui:59
+msgctxt "shortcut window"
+msgid "Zoom in"
+msgstr "Ampliar"
+
+#: src/resources/gtk/help-overlay.ui:66
+msgctxt "shortcut window"
+msgid "Zoom out"
+msgstr "Reduzir"
+
+#: src/resources/gtk/help-overlay.ui:73
+msgctxt "shortcut window"
+msgid "Reset zoom"
+msgstr "Redefinir ampliação"
+
 #: src/resources/gtk/menus.ui:6
 msgid "_New Window"
 msgstr "_Nova janela"
@@ -239,121 +313,143 @@
 msgstr "Ajuda"
 
 #: src/resources/gtk/menus.ui:26
+msgid "Keyboard Shortcuts"
+msgstr "Atalhos de teclado"
+
+#: src/resources/gtk/menus.ui:30
 msgid "_Quit"
 msgstr "_Sair"
 
-#: src/resources/gtk/menus.ui:34 src/sp-window.c:930
+#: src/resources/ui/sp-window.ui:30 src/sp-window.c:309
+msgid "Not running"
+msgstr "Ocioso"
+
+#: src/resources/ui/sp-window.ui:44
+msgid "_Record"
+msgstr "G_ravar"
+
+#: src/resources/ui/sp-window.ui:118
+msgid "_Close"
+msgstr "_Fechar"
+
+#: src/resources/ui/sp-window.ui:174
+msgid "CPU"
+msgstr "CPU"
+
+#: src/resources/ui/sp-window.ui:222
+msgid "Zoom out (Ctrl+-)"
+msgstr "Reduzir (Ctrl+-)"
+
+#: src/resources/ui/sp-window.ui:238
+msgid "Reset zoom level (Ctrl+0)"
+msgstr "Redefinir nível de ampliação (Ctrl+0)"
+
+#: src/resources/ui/sp-window.ui:252
+msgid "Zoom in (Ctrl++)"
+msgstr "Ampliar (Ctrl++)"
+
+#: src/resources/ui/sp-window.ui:277 src/sp-window.c:999
 msgid "Open"
 msgstr "Abrir"
 
-#: src/resources/gtk/menus.ui:40
+#: src/resources/ui/sp-window.ui:284
 msgid "Save As"
 msgstr "Salvar como"
 
-#: src/resources/gtk/menus.ui:46
+#: src/resources/ui/sp-window.ui:297
 msgid "Screenshot"
 msgstr "Captura de tela"
 
-#: src/resources/gtk/menus.ui:52
+#: src/resources/ui/sp-window.ui:310
 msgid "Close"
 msgstr "Fechar"
 
-#: src/resources/ui/sp-window.ui:30 src/sp-window.c:281
-msgid "Not running"
-msgstr "Ocioso"
-
-#: src/resources/ui/sp-window.ui:44
-msgid "_Record"
-msgstr "G_ravar"
-
-#: src/resources/ui/sp-window.ui:116
-msgid "_Close"
-msgstr "_Fechar"
-
-#: src/sp-application.c:160
+#: src/sp-application.c:174
 msgid "A system profiler"
 msgstr "Um perfilador de sistema"
 
-#: src/sp-application.c:164
+#: src/sp-application.c:178
 msgid "translator-credits"
-msgstr "Rafael Fontenelle <[email protected]>, 2016"
+msgstr ""
+"Rafael Fontenelle <[email protected]>, 2016\n"
+"Enrico Nicoletto <[email protected]>, 2016"
 
-#: src/sp-application.c:170
+#: src/sp-application.c:184
 msgid "Learn more about Sysprof"
 msgstr "Aprenda mais sobre o Sysprof"
 
-#: src/sp-window.c:139
+#: src/sp-window.c:148
 #, c-format
 msgid "Samples: %u"
 msgstr "Exemplos: %u"
 
-#: src/sp-window.c:172
+#: src/sp-window.c:181
 msgid "[Memory Capture]"
 msgstr "[Captura da memória]"
 
-#: src/sp-window.c:185
+#: src/sp-window.c:194
 #, c-format
 msgid "%s - %s"
 msgstr "%s - %s"
 
-#: src/sp-window.c:219
+#: src/sp-window.c:230
 msgid "Not enough samples were collected to generate a callgraph"
 msgstr ""
 "Não foram coletadas amostras suficientes para gerar um gráfico de chamadas"
 
-#: src/sp-window.c:273 src/sp-window.c:317
+#: src/sp-window.c:301 src/sp-window.c:345
 msgid "Record"
 msgstr "Gravar"
 
-#: src/sp-window.c:293
+#: src/sp-window.c:321
 msgid "Stop"
 msgstr "Parar"
 
-#: src/sp-window.c:298
+#: src/sp-window.c:326
 msgid "Recording…"
 msgstr "Gravando…"
 
-#: src/sp-window.c:309
+#: src/sp-window.c:337
 msgid "Building profile…"
 msgstr "Construindo perfil…"
 
 #. SpProfiler::stopped will move us to generating
-#: src/sp-window.c:404
+#: src/sp-window.c:438
 msgid "Stopping…"
 msgstr "Parando…"
 
-#: src/sp-window.c:553
+#: src/sp-window.c:590
 msgid "Save Capture As"
 msgstr "Salvar captura como"
 
-#: src/sp-window.c:556 src/sp-window.c:929
-msgid "Cancel"
-msgstr "Cancelar"
-
-#: src/sp-window.c:557
+#: src/sp-window.c:593
 msgid "Save"
 msgstr "Salvar"
 
-#: src/sp-window.c:589
+#: src/sp-window.c:594 src/sp-window.c:1000
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/sp-window.c:624
 #, c-format
 msgid "An error occurred while attempting to save your capture: %s"
 msgstr "Ocorreu um erro enquanto tentava salvar sua captura: %s"
 
-#: src/sp-window.c:896
+#: src/sp-window.c:969
 #, c-format
 msgid "The file \"%s\" could not be opened. Only local files are supported."
 msgstr ""
 "O arquivo \"%s\" não pôde ser aberto. Há suporte apenas arquivos locais."
 
-#: src/sp-window.c:924
+#: src/sp-window.c:996
 msgid "Open Capture"
 msgstr "Abrir captura"
 
-#: src/sp-window.c:936
+#: src/sp-window.c:1003
 msgid "Sysprof Captures"
 msgstr "Capturas do Sysprof"
 
-#: src/sp-window.c:941
+#: src/sp-window.c:1008
 msgid "All Files"
 msgstr "Todos arquivos"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/src/resources/sysprof.gresource.xml 
new/sysprof-3.22.3/src/resources/sysprof.gresource.xml
--- old/sysprof-3.22.2/src/resources/sysprof.gresource.xml      2016-10-10 
06:03:03.000000000 +0200
+++ new/sysprof-3.22.3/src/resources/sysprof.gresource.xml      2016-11-24 
04:14:16.000000000 +0100
@@ -5,14 +5,6 @@
     <file>gtk/menus.ui</file>
     <file>gtk/help-overlay.ui</file>
 
-    <!-- Application icons -->
-    <file 
alias="icons/16x16/apps/sysprof.png">../../data/icons/16x16/apps/sysprof.png</file>
-    <file 
alias="icons/24x24/apps/sysprof.png">../../data/icons/24x24/apps/sysprof.png</file>
-    <file 
alias="icons/32x32/apps/sysprof.png">../../data/icons/32x32/apps/sysprof.png</file>
-    <file 
alias="icons/48x48/apps/sysprof.png">../../data/icons/48x48/apps/sysprof.png</file>
-    <file 
alias="icons/256x256/apps/sysprof.png">../../data/icons/256x256/apps/sysprof.png</file>
-    <file 
alias="icons/scalable/apps/sysprof-symbolic.svg">../../data/icons/scalable/apps/sysprof-symbolic.svg</file>
-
     <!-- Theme overrides -->
     <file compressed="true">theme/shared.css</file>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/src/sp-window.c 
new/sysprof-3.22.3/src/sp-window.c
--- old/sysprof-3.22.2/src/sp-window.c  2016-11-01 21:34:07.000000000 +0100
+++ new/sysprof-3.22.3/src/sp-window.c  2016-11-17 05:13:40.000000000 +0100
@@ -212,6 +212,8 @@
   g_assert (SP_IS_WINDOW (self));
   g_assert (G_IS_ASYNC_RESULT (result));
 
+  gtk_widget_set_sensitive (GTK_WIDGET (self->record_button), TRUE);
+
   if (!sp_profile_generate_finish (profile, result, &error))
     {
       /* If we were cancelled while updating the selection, ignore the failure 
*/
@@ -257,6 +259,8 @@
 
   self->refilter_cancellable = g_cancellable_new ();
 
+  gtk_widget_set_sensitive (GTK_WIDGET (self->record_button), FALSE);
+
   sp_profile_generate (profile,
                        self->refilter_cancellable,
                        sp_window_build_profile_cb,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sysprof-3.22.2/tools/sysprof-cli.c 
new/sysprof-3.22.3/tools/sysprof-cli.c
--- old/sysprof-3.22.2/tools/sysprof-cli.c      2016-10-10 06:03:03.000000000 
+0200
+++ new/sysprof-3.22.3/tools/sysprof-cli.c      2016-11-28 22:55:51.000000000 
+0100
@@ -89,11 +89,14 @@
   GSource *gsource;
   gchar *command = NULL;
   gboolean version = FALSE;
+  gboolean force = FALSE;
   int pid = -1;
   int fd;
+  int flags;
   GOptionEntry entries[] = {
     { "pid", 'p', 0, G_OPTION_ARG_INT, &pid, N_("Make sysprof specific to a 
task"), N_("PID") },
     { "command", 'c', 0, G_OPTION_ARG_STRING, &command, N_("Run a command and 
profile the process"), N_("COMMAND") },
+    { "force", 'f', 0, G_OPTION_ARG_NONE, &force, N_("Force overwrite the 
capture file") },
     { "version", 0, 0, G_OPTION_ARG_NONE, &version, N_("Print the sysprof-cli 
version and exit") },
     { NULL }
   };
@@ -151,7 +154,19 @@
   if (argc == 2)
     filename = argv[1];
 
-  if (-1 == (fd = g_open (filename, O_CREAT | O_RDWR | O_CLOEXEC, 0640)))
+  flags = O_CREAT | O_RDWR | O_CLOEXEC;
+  if (!force)
+    {
+      /* if we don't force overwrite we want to ensure the file doesn't exist
+       * and never overwrite it. O_EXCL will prevent opening in that case */
+      flags |= O_EXCL;
+      if (g_file_test (filename, G_FILE_TEST_EXISTS))
+        {
+          g_printerr (_("%s exists. Use --force to overwrite\n"), filename);
+          return EXIT_FAILURE;
+        }
+    }
+  if (-1 == (fd = g_open (filename, flags, 0640)))
     {
       g_printerr ("Failed to open %s\n", filename);
       return EXIT_FAILURE;


Reply via email to