如何防止Gtk g_source_timeout_add在多个实例中触发

如何防止Gtk g_source_timeout_add在多个实例中触发,gtk,Gtk,我通过以下方式注册超时: timeout_tag = g_timeout_add(250, update_time, NULL); 然后用它来摧毁它 g_source_remove(timeout_tag); 但当我打开同一个应用程序的多个实例时,超时会在所有实例中触发update\u time,而不仅仅是一个实例。我该如何隔离他们 我正在使用创建一个新的应用程序 app = gtk_application_new("com.lunacd.reminder", G_APP

我通过以下方式注册超时:

timeout_tag = g_timeout_add(250, update_time, NULL);
然后用它来摧毁它

g_source_remove(timeout_tag);
但当我打开同一个应用程序的多个实例时,超时会在所有实例中触发
update\u time
,而不仅仅是一个实例。我该如何隔离他们

我正在使用创建一个新的应用程序

app = gtk_application_new("com.lunacd.reminder", G_APPLICATION_FLAGS_NONE);

我是否应该生成uuid并将其附加到
com.lunacd.remement
,以便标识符保持不同?

正如@jcoppens所指出的,超时是独立触发的。这个问题无效。

你确定吗?虽然我没有尝试过,但超时的实例应该是独立的!请注意,在
source\u remove
之前,超时可能会重复,具体取决于处理程序的
返回值(TRUE repeats,FALSE stops repeats)。我已重试,正如您所说,无法重现此操作。谢谢你的尝试!很抱歉问了一个不存在的问题。我不知道为什么我以前见过这种行为。