Skip to content
Snippets Groups Projects
Commit b514fe6b authored by Simon McVittie's avatar Simon McVittie
Browse files

subprocess: Always filter out gameoverlayrenderer.so


The `display` and `graphics-drivers` checks historically didn't, but
that seems more like accident than design. We can add a way to avoid
this filtering if we find that we need it in future.

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
parent cf85f8e1
No related branches found
No related tags found
1 merge request!629Add an object encapsulating the execution environment for helper subprocesses
......@@ -250,7 +250,6 @@ _srt_check_display (SrtSubprocessRunner *runner,
SrtDisplayX11Type x11_type = SRT_DISPLAY_X11_TYPE_UNKNOWN;
SrtHelperFlags helper_flags = (SRT_HELPER_FLAGS_TIME_OUT
| SRT_HELPER_FLAGS_SEARCH_PATH
| SRT_HELPER_FLAGS_KEEP_GAMEOVERLAYRENDERER
| SRT_HELPER_FLAGS_STDOUT_SILENCE);
const char * const *envp;
static const gchar * const display_env[] =
......
......@@ -39,8 +39,7 @@
#include <gelf.h>
#include <libelf.h>
static const SrtHelperFlags helper_flags = (SRT_HELPER_FLAGS_KEEP_GAMEOVERLAYRENDERER
| SRT_HELPER_FLAGS_SEARCH_PATH);
static const SrtHelperFlags helper_flags = SRT_HELPER_FLAGS_SEARCH_PATH;
/*
* Returns: (nullable) (element-type filename) (transfer container): The
......
......@@ -52,7 +52,6 @@ typedef enum
{
SRT_HELPER_FLAGS_SEARCH_PATH = (1 << 0),
SRT_HELPER_FLAGS_TIME_OUT = (1 << 1),
SRT_HELPER_FLAGS_KEEP_GAMEOVERLAYRENDERER = (1 << 3),
SRT_HELPER_FLAGS_LIBGL_VERBOSE = (1 << 4),
SRT_HELPER_FLAGS_STDOUT_SILENCE = (1 << 5),
SRT_HELPER_FLAGS_NONE = 0
......
......@@ -48,7 +48,7 @@ _srt_subprocess_runner_constructed (GObject *object)
SrtSubprocessRunner *self = SRT_SUBPROCESS_RUNNER (object);
if (self->envp == NULL)
self->envp = g_get_environ ();
self->envp = _srt_filter_gameoverlayrenderer_from_envp (_srt_peek_environ_nonnull ());
G_OBJECT_CLASS (_srt_subprocess_runner_parent_class)->constructed (object);
}
......@@ -87,13 +87,18 @@ _srt_subprocess_runner_set_property (GObject *object,
GParamSpec *pspec)
{
SrtSubprocessRunner *self = SRT_SUBPROCESS_RUNNER (object);
const char * const *envp;
switch (prop_id)
{
case PROP_ENVIRON:
/* Construct-only */
g_return_if_fail (self->envp == NULL);
self->envp = g_value_dup_boxed (value);
envp = g_value_get_boxed (value);
if (envp != NULL)
self->envp = _srt_filter_gameoverlayrenderer_from_envp (envp);
break;
case PROP_HELPERS_PATH:
......@@ -319,9 +324,6 @@ _srt_subprocess_runner_spawn_sync (SrtSubprocessRunner *self,
g_auto(GStrv) my_environ = NULL;
GSpawnFlags spawn_flags = G_SPAWN_DEFAULT;
if (!(flags & SRT_HELPER_FLAGS_KEEP_GAMEOVERLAYRENDERER))
my_environ = _srt_filter_gameoverlayrenderer_from_envp ((const char * const *) self->envp);
if (flags & SRT_HELPER_FLAGS_LIBGL_VERBOSE)
{
if (my_environ == NULL)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment