After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 675667 - Crash when trying to add an account
Crash when trying to add an account
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Accounts
2.33.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2012-05-08 10:56 UTC by Guillaume Desmottes
Modified: 2012-05-09 07:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
account-widget: delay 'close' signal if enabling the account (2.27 KB, patch)
2012-05-08 11:53 UTC, Guillaume Desmottes
none Details | Review
new-account-dialog: rely on the EmpathyAccountWidget::close signal (2.92 KB, patch)
2012-05-08 11:53 UTC, Guillaume Desmottes
committed Details | Review
Good catch, I meant to init it to TRUE of course. (2.27 KB, patch)
2012-05-09 07:34 UTC, Guillaume Desmottes
committed Details | Review

Description Guillaume Desmottes 2012-05-08 10:56:29 UTC
I suspect I introduced a regression when fixing bug #640417.


(empathy-accounts:19685): tp-glib-CRITICAL **: tp_account_manager_get_most_available_presence: assertion `TP_IS_ACCOUNT_MANAGER (manager)' failed



  • #0 g_logv
    at gmessages.c line 758
  • #1 g_log
    at gmessages.c line 792
  • #2 g_return_if_fail_warning
  • #3 tp_account_manager_get_most_available_presence
    at account-manager.c line 1202
  • #4 empathy_connect_new_account
    at empathy-utils.c line 642
  • #5 account_widget_account_enabled_cb
    at empathy-account-widget.c line 904
  • #6 g_simple_async_result_complete
    at gsimpleasyncresult.c line 767
  • #7 complete_in_idle_cb
    at gsimpleasyncresult.c line 779
  • #8 g_idle_dispatch
    at gmain.c line 4657
  • #9 g_main_dispatch
    at gmain.c line 2539
  • #10 g_main_context_dispatch
    at gmain.c line 3075
  • #11 g_main_context_iterate
    at gmain.c line 3146
  • #12 g_main_context_iteration
    at gmain.c line 3207
  • #13 g_application_run
    at gapplication.c line 1496
  • #14 main
    at empathy-accounts.c line 246

Comment 1 Guillaume Desmottes 2012-05-08 11:53:30 UTC
Created attachment 213660 [details] [review]
account-widget: delay 'close' signal if enabling the account

The whole point of this signal is to tell to user when it can be destroyed, so
we shouldn't fire it if we are still pending on an async call.
Comment 2 Guillaume Desmottes 2012-05-08 11:53:33 UTC
Created attachment 213661 [details] [review]
new-account-dialog: rely on the EmpathyAccountWidget::close signal

User of the dialog should wait for the widget to be completely done before
destroying it.

Change the 'success' dialog response to GTK_RESPONSE_APPLY to stay coherent
with the response type received from EmpathyAccountWidget.
Comment 3 Xavier Claessens 2012-05-09 07:11:48 UTC
Review of attachment 213660 [details] [review]:

::: libempathy-gtk/empathy-account-widget.c
@@ +920,3 @@
   EmpathyAccountWidget *self = EMPATHY_ACCOUNT_WIDGET (user_data);
   gboolean reconnect_required;
+  gboolean fire_close = FALSE;

it will never be TRUE
Comment 4 Xavier Claessens 2012-05-09 07:13:19 UTC
Review of attachment 213661 [details] [review]:

looks good
Comment 5 Guillaume Desmottes 2012-05-09 07:34:45 UTC
Created attachment 213722 [details] [review]
Good catch, I meant to init it to TRUE of course.

account-widget: delay 'close' signal if enabling the account

The whole point of this signal is to tell to user when it can be destroyed, so
we shouldn't fire it if we are still pending on an async call.
Comment 6 Guillaume Desmottes 2012-05-09 07:37:52 UTC
Attachment 213661 [details] pushed as 085365f - new-account-dialog: rely on the EmpathyAccountWidget::close signal
Comment 7 Guillaume Desmottes 2012-05-09 07:38:33 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.