static void
bamf_application_on_window_added (BamfDBusItemApplication *proxy, const char *path, BamfApplication *self)
{
BamfView *view;
BamfFactory *factory;
g_return_if_fail (BAMF_IS_APPLICATION (self));
factory = _bamf_factory_get_default ();
view = _bamf_factory_view_for_path_type (factory, path, BAMF_FACTORY_WINDOW);
if (BAMF_IS_WINDOW (view))
{
guint32 xid = bamf_window_get_xid (BAMF_WINDOW (view));
if (!g_list_find (self->priv->cached_xids, GUINT_TO_POINTER (xid)))
{
self->priv->cached_xids = g_list_prepend (self->priv->cached_xids, GUINT_TO_POINTER (xid));
}
g_signal_emit (G_OBJECT (self), application_signals[WINDOW_ADDED], 0, view);
}
}