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;
