~ubuntu-branches/ubuntu/saucy/geary/saucy-updates

« back to all changes in this revision

Viewing changes to src/engine/api/geary-account-information.vala

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher
  • Date: 2013-04-10 10:57:25 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20130410105725-f532n2cfre2sq6mf
Tags: 0.3.1-0ubuntu1
* New upstream bugfix version:
  - Reduced CPU and memory footprint
  - Account dialog bugs fixed
  - Stability improvements

Show diffs side-by-side

added added

removed removed

Lines of Context:
164
164
        CredentialsMediator.ServiceFlag get_services = 0;
165
165
        if (services.has_imap() && !imap_credentials.is_complete())
166
166
            get_services |= CredentialsMediator.ServiceFlag.IMAP;
167
 
        if (services.has_smtp() && !smtp_credentials.is_complete())
 
167
        
 
168
        if (services.has_smtp() && smtp_credentials != null && !smtp_credentials.is_complete())
168
169
            get_services |= CredentialsMediator.ServiceFlag.SMTP;
169
170
        
170
171
        CredentialsMediator.ServiceFlag unset_services = services;
171
172
        if (get_services != 0)
172
173
            unset_services = yield get_passwords_async(get_services);
 
174
        else
 
175
            return true;
173
176
        
174
177
        if (unset_services == 0)
175
178
            return true;
219
222
                failed_services |= CredentialsMediator.ServiceFlag.IMAP;
220
223
        }
221
224
        
222
 
        if (services.has_smtp()) {
 
225
        if (services.has_smtp() && smtp_credentials != null) {
223
226
            string? smtp_password = yield mediator.get_password_async(
224
227
                CredentialsMediator.Service.SMTP, smtp_credentials.user);
225
228
            
247
250
        string? imap_password, smtp_password;
248
251
        bool imap_remember_password, smtp_remember_password;
249
252
        
 
253
        if (smtp_credentials == null)
 
254
            services &= ~CredentialsMediator.ServiceFlag.SMTP;
 
255
        
250
256
        if (!yield Geary.Engine.instance.authentication_mediator.prompt_passwords_async(
251
257
            services, this, out imap_password, out smtp_password,
252
258
            out imap_remember_password, out smtp_remember_password))
287
293
            }
288
294
        }
289
295
        
290
 
        if (services.has_smtp()) {
 
296
        if (services.has_smtp() && smtp_credentials != null) {
291
297
            if (smtp_remember_password) {
292
298
                yield mediator.set_password_async(
293
299
                    CredentialsMediator.Service.SMTP, smtp_credentials);
409
415
        key_file.set_integer(GROUP, ORDINAL_KEY, ordinal);
410
416
        key_file.set_value(GROUP, IMAP_USERNAME_KEY, imap_credentials.user);
411
417
        key_file.set_boolean(GROUP, IMAP_REMEMBER_PASSWORD_KEY, imap_remember_password);
412
 
        key_file.set_value(GROUP, SMTP_USERNAME_KEY, smtp_credentials.user);
 
418
        if (smtp_credentials != null)
 
419
            key_file.set_value(GROUP, SMTP_USERNAME_KEY, smtp_credentials.user);
413
420
        key_file.set_boolean(GROUP, SMTP_REMEMBER_PASSWORD_KEY, smtp_remember_password);
414
421
        key_file.set_integer(GROUP, PREFETCH_PERIOD_DAYS_KEY, prefetch_period_days);
415
422
        
457
464
        }
458
465
        
459
466
        try {
460
 
            if (services.has_smtp()) {
 
467
            if (services.has_smtp() && smtp_credentials != null) {
461
468
                yield mediator.clear_password_async(
462
469
                    CredentialsMediator.Service.SMTP, smtp_credentials.user);
463
470
            }