do NOT call g_source_remove twice, NEVER