diff options
Diffstat (limited to 'src/canberra-gtk.c')
| -rw-r--r-- | src/canberra-gtk.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c index 70b8d7e..cb36a0f 100644 --- a/src/canberra-gtk.c +++ b/src/canberra-gtk.c @@ -31,6 +31,7 @@  #include "common.h"  #include "malloc.h"  #include "proplist.h" +#include "fork-detect.h"  /**   * SECTION:canberra-gtk @@ -93,7 +94,8 @@ ca_context *ca_gtk_context_get(void) {      if ((c = g_static_private_get(&context_private)))          return c; -    ca_assert_se(ca_context_create(&c) == CA_SUCCESS); +    if (ca_context_create(&c) != CA_SUCCESS) +        return NULL;      if ((name = g_get_application_name()))          ca_context_change_props(c, CA_PROP_APPLICATION_NAME, name, NULL); @@ -154,6 +156,7 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) {      ca_return_val_if_fail(p, CA_ERROR_INVALID);      ca_return_val_if_fail(widget, CA_ERROR_INVALID); +    ca_return_val_if_fail(!ca_detect_fork(), CA_ERROR_FORKED);      if (!(w = get_toplevel(widget)))          return CA_ERROR_INVALID; @@ -224,6 +227,7 @@ int ca_gtk_proplist_set_for_event(ca_proplist *p, GdkEvent *e) {      ca_return_val_if_fail(p, CA_ERROR_INVALID);      ca_return_val_if_fail(e, CA_ERROR_INVALID); +    ca_return_val_if_fail(!ca_detect_fork(), CA_ERROR_FORKED);      if ((gw = e->any.window)) {          gdk_window_get_user_data(gw, (gpointer*) &w); @@ -297,6 +301,7 @@ int ca_gtk_play_for_widget(GtkWidget *w, uint32_t id, ...) {      ca_proplist *p;      ca_return_val_if_fail(w, CA_ERROR_INVALID); +    ca_return_val_if_fail(!ca_detect_fork(), CA_ERROR_FORKED);      if ((ret = ca_proplist_create(&p)) < 0)          return ret; @@ -346,6 +351,7 @@ int ca_gtk_play_for_event(GdkEvent *e, uint32_t id, ...) {      ca_proplist *p;      ca_return_val_if_fail(e, CA_ERROR_INVALID); +    ca_return_val_if_fail(!ca_detect_fork(), CA_ERROR_FORKED);      if ((ret = ca_proplist_create(&p)) < 0)          return ret; | 
