Commit Graph

1622 Commits

Author SHA1 Message Date
c35e109958 duplexvisualizer: minimal GTK 4 port
This should be rewritten to draw offscreen and then upload textures as
necessary to the GPU for blitting.
2022-04-01 13:14:51 -07:00
52e6727beb scrollmap: port to GTK 4
And use snapshots to paint color blocks
2022-04-01 13:14:51 -07:00
e0b1271994 visualizersframe: inherit from GtkWidget and port to GTK 4
Lots that can go wrong here, and most likely we'll want to redo how
selections work over time to use a drag gesture instead of the sort
of annoying click/motion stuff we're doing here.
2022-04-01 13:14:51 -07:00
f1adbe7d3f memprof: port visualizer to GTK 4 2022-04-01 13:14:51 -07:00
ddb8db5872 cellrendererpercent: subclass private progress implementation
We might get this subclassable in GTK soon, but until then just subclass
so we can move on and port more things.
2022-04-01 13:14:51 -07:00
c6da3d3898 recordingstateview: port to GTK 4 2022-04-01 13:14:51 -07:00
d6b1a820d0 failedstateview: port to GTK 4 2022-04-01 13:14:51 -07:00
e1c2f0ee55 visualizergroup: port to GTK 4 2022-04-01 13:14:51 -07:00
9a95835b59 profilerassistant: port to GTK 4 2022-04-01 13:14:51 -07:00
e29b1836cc page: start porting to GTK 4
More work to be done, but setup the base object.
2022-04-01 13:14:51 -07:00
8136484846 environeditor: port to GTK 4
This required using an intermediate object, so will need further testing.
2022-04-01 13:14:51 -07:00
ae61e9ceca detailspage: port to GTK 4 2022-04-01 13:14:51 -07:00
6759bc4ac8 cpuaid: port to GTK 4 2022-04-01 13:14:51 -07:00
226a1f147b procsvisualizer: port to GTK 4
This is a minimal port. We'll definitely want to cache the rendered cairo
surface going forward instead of redrawing every frame.
2022-04-01 13:14:51 -07:00
234d37ea12 libsysprof-ui: inherit visualizer from GtkWidget 2022-04-01 13:14:51 -07:00
36a9e37ee2 display: inherit from GtkWidget 2022-04-01 13:14:51 -07:00
5e55f5f2cc build: switch build to GTK 4 2022-04-01 13:14:51 -07:00
a1f8f7e9f8 build: remove dazzle reference 2022-04-01 13:14:51 -07:00
b4c8530019 build: remove libdazzle 2022-04-01 13:14:51 -07:00
8835e53741 window: fix runtime issue with missing properties 2022-04-01 13:14:51 -07:00
ae25672f0e memprofpage: cleanup warnings 2022-04-01 13:14:51 -07:00
304b2901ac detailspage: dedazzle 2022-04-01 13:14:51 -07:00
48d8b3da8e libsysprof-ui: add EggThreeGrid
So we can drop our use from libdazzle. We'll need to port this to GTK 4
but it shouldn't be too bad.
2022-04-01 13:14:51 -07:00
a383f4d78a window: dedazzle
This can move to AdwApplicationWindow at some point.
2022-04-01 13:14:51 -07:00
f2aca5a812 app: dedazzle
We will have to find alternate means to load style sheets in the future,
but we can rely on AdwApplication for that.
2022-04-01 13:14:51 -07:00
3b2c111598 visualizergroupheader: dedazzle 2022-04-01 13:14:51 -07:00
0a83abe1e5 sysprof: add EggBindingGroup
Until we have this in GLib, just embed it.
2022-04-01 13:14:51 -07:00
4e8b2ce9c5 sysprof-ui: remove dazzle header 2022-04-01 13:14:51 -07:00
24c1cfe5bf memprofpage: remove dazzle usage
We will need to use some replacements in GTK 4 though.
2022-04-01 13:14:51 -07:00
5a6e0a3594 marksaid: embed rgba shading code 2022-04-01 13:14:51 -07:00
99a4cd8309 css: remove dead CSS 2022-04-01 13:14:51 -07:00
07d2de5d3a cellrendererduration: inline rounded rectangle
We can just embed this instead of relying on dazzle, and inline it at
the same time.
2022-04-01 13:14:51 -07:00
fb16745723 visualizer: remove DzlBin usage
We can just use GtkBin for now, and in GTK 4 we'll switch to using
GtkWidget as the parent type. But this helps us progress on de-dazzling.
2022-04-01 13:14:51 -07:00
94d7e90206 display: use GtkPaned
We don't need MultiPaned here (other than it works nicer than GtkPaned).
We can move to PanelMultiPaned in the future if we need it.
2022-04-01 13:14:51 -07:00
f56c36b054 callgraphpage: remove dazzle for shortcuts
We can do this manually with a key controller.

In the future, we will do this with GTK 4's shortcut controller.
2022-04-01 13:14:51 -07:00
2888ae2ad8 visualizergroup: remove dazzle usage 2022-04-01 13:14:51 -07:00
b307550ea5 build: fix various meson deprecation warnings 2022-04-01 13:09:56 -07:00
c75391e681 tools/sysprof-cli: always inherit stdin
Fixes #76
2022-04-01 12:57:30 -07:00
8799d2f0ca libsysprof: add API to inherit stdin
Related #76
2022-04-01 12:57:02 -07:00
1587bc13b6 libsysprof: add accessors for setting spawnable flags
We need this to be able to allow inheriting stdin from sysprof-cli.
2022-04-01 12:41:49 -07:00
3c5540047f build: bump for development 2022-04-01 12:41:14 -07:00
03652e1a44 proc: fix capture of mapped pathnames
pathnames are listed unescaped in /proc/[pid]/maps, so using %s as the
conversion specifier cuts pathnames off at space characters. Use %[^\n]
instead, to read everything until the end of the line.

Also, the scanf manpage states: "String input conversions store a
terminating null byte ('\0') to mark the end of the input; the maximum
field width does not include this terminator". So set the maximum field
width to 511 instead of 512, to leave one free byte in the buffer for
the terminating null byte.

Fixes #70
2021-11-23 14:41:31 +01:00
d05f1cba57 Preload correct speedtrack lib in GUI
Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2021-11-16 15:42:37 -05:00
7a040a6032 memprof: add section for allocation leaks
These are defined by allocation records that do not have a corresponding
release record.
2021-11-04 21:10:44 -07:00
0518cae7f9 tests: use integer types
So we can catch negative values.
2021-11-04 20:07:54 -07:00
b3b2e61c19 enable_paranoid_cb: Do not use g_steal_pointer in callee argument list
The order in which the argument list is evaluated is unspecified, so it
was possible for g_steal_pointer to set self = NULL before
self->old_governor was evaluated, resulting in a crash:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f6efc678d84 in enable_paranoid_cb (object=0x561a4d147c80, result=0x561a4d173560, user_data=0x561a4d09d610) at ../src/libsysprof/sysprof-governor-source.c:290
290	                                        self->old_governor,
[Current thread is 1 (Thread 0x7f6efae4b600 (LWP 122786))]
(gdb) bt
#0  0x00007f6efc678d84 in enable_paranoid_cb (object=0x561a4d147c80 [SysprofHelpers], result=0x561a4d173560, user_data=0x561a4d09d610) at ../src/libsysprof/sysprof-governor-source.c:290
#1  0x00007f6efd51b389 in g_task_return_now (task=0x561a4d173560 [GTask]) at ../../../gio/gtask.c:1219
#2  0x00007f6efd51becb in g_task_return (type=<optimized out>, task=0x561a4d173560 [GTask]) at ../../../gio/gtask.c:1289
#3  g_task_return (task=0x561a4d173560 [GTask], type=<optimized out>) at ../../../gio/gtask.c:1245
#4  0x00007f6efc6a6060 in sysprof_helpers_set_paranoid_cb (object=0x561a4cf9df90 [IpcServiceProxy], result=0x561a4d1736e0, user_data=0x561a4d173560) at ../src/libsysprof/sysprof-helpers.c:788
#5  0x00007f6efd51b389 in g_task_return_now (task=0x561a4d1736e0 [GTask]) at ../../../gio/gtask.c:1219
#6  0x00007f6efd51becb in g_task_return (type=<optimized out>, task=0x561a4d1736e0 [GTask]) at ../../../gio/gtask.c:1289
#7  g_task_return (task=0x561a4d1736e0 [GTask], type=<optimized out>) at ../../../gio/gtask.c:1245
#8  0x00007f6efd5830cb in reply_cb (connection=<optimized out>, res=<optimized out>, user_data=user_data@entry=0x561a4d1736e0) at ../../../gio/gdbusproxy.c:2568
#9  0x00007f6efd51b389 in g_task_return_now (task=0x561a4d22b000 [GTask]) at ../../../gio/gtask.c:1219
#10 0x00007f6efd51becb in g_task_return (type=<optimized out>, task=0x561a4d22b000 [GTask]) at ../../../gio/gtask.c:1289
#11 g_task_return (task=0x561a4d22b000 [GTask], type=<optimized out>) at ../../../gio/gtask.c:1245
#12 0x00007f6efd577cbf in g_dbus_connection_call_done (source=<optimized out>, result=0x561a4d22b0c0, user_data=user_data@entry=0x561a4d22b000) at ../../../gio/gdbusconnection.c:5797
#13 0x00007f6efd51b389 in g_task_return_now (task=0x561a4d22b0c0 [GTask]) at ../../../gio/gtask.c:1219
#14 0x00007f6efd51b3c9 in complete_in_idle_cb (task=0x561a4d22b0c0) at ../../../gio/gtask.c:1233
#15 0x00007f6efd32db84 in g_main_dispatch (context=0x561a4cb60af0) at ../../../glib/gmain.c:3381
#16 g_main_context_dispatch (context=0x561a4cb60af0) at ../../../glib/gmain.c:4099
#17 0x00007f6efd32df28 in g_main_context_iterate (context=context@entry=0x561a4cb60af0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4175
#18 0x00007f6efd32dfdf in g_main_context_iteration (context=context@entry=0x561a4cb60af0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4240
#19 0x00007f6efd54a06d in g_application_run (application=0x561a4cb56120 [SysprofApplication], argc=<optimized out>, argv=<optimized out>) at ../../../gio/gapplication.c:2569
#20 0x0000561a4b2edd14 in main (argc=1, argv=0x7ffddcebb708) at ../src/sysprof/sysprof.c:44
(gdb) info locals
helpers = 0x561a4d147c80 [SysprofHelpers]
self = 0x0
error = 0x0
old_governor = -1
__func__ = "enable_paranoid_cb"
2021-11-01 10:29:15 +01:00
66d412b235 display: show time in local time
Fixes #67
2021-10-28 19:01:18 -07:00
32a7436837 binfile: Use correct prefix for debug files 2021-10-15 07:17:14 +03:00
46e7e31f45 elf-symbol-resolver: Add Flatpak Debug paths
Add paths for com.example.App.Debug and com.example.Sdk.Debug where most
of the debug symbols should lie.
2021-10-15 07:17:14 +03:00
01eafe951e elf-symbol-resolver: Use custom debug dirs
They were set up, but not actually used for resolving. Fix that.
2021-10-08 23:37:12 +03:00