+static gboolean
+modest_hildon2_window_mgr_find_registered_message_uid (ModestWindowMgr *self, const gchar *msg_uid,
+ ModestWindow **win)
+{
+ ModestHildon2WindowMgrPrivate *priv = NULL;
+ gboolean has_header, has_window = FALSE;
+ GList *item = NULL;
+
+ g_return_val_if_fail (MODEST_IS_HILDON2_WINDOW_MGR (self), FALSE);
+ g_return_val_if_fail (msg_uid && msg_uid[0] != '\0', FALSE);
+
+ priv = MODEST_HILDON2_WINDOW_MGR_GET_PRIVATE (self);
+
+ has_header = MODEST_WINDOW_MGR_CLASS (parent_class)->find_registered_message_uid (self, msg_uid, win);
+
+ item = g_list_find_custom (priv->window_list, msg_uid, (GCompareFunc) compare_msguids);
+ if (item) {
+ has_window = TRUE;
+ if (win) {
+ if ((!MODEST_IS_MSG_VIEW_WINDOW(item->data)) &&
+ (!MODEST_IS_MSG_EDIT_WINDOW (item->data)))
+ g_debug ("not a valid window!");
+ else {
+ g_debug ("found a window");
+ *win = MODEST_WINDOW (item->data);
+ }
+ }
+ }
+
+ return has_header || has_window;
+}
+