~timo-jyrinki/bamf/dummy_merge

« back to all changes in this revision

Viewing changes to src/bamf-legacy-window.c

BamfMatcher: don't reopen windows when iterating on view's list, add tests. Fixes: . Approved by Michal Hruby.

Show diffs side-by-side

added added

removed removed

Lines of Context:
78
78
bamf_legacy_window_get_window_type (BamfLegacyWindow *self)
79
79
{
80
80
  g_return_val_if_fail (BAMF_IS_LEGACY_WINDOW (self), 0);
 
81
 
 
82
  if (BAMF_LEGACY_WINDOW_GET_CLASS (self)->get_window_type)
 
83
    return BAMF_LEGACY_WINDOW_GET_CLASS (self)->get_window_type (self);
 
84
 
81
85
  g_return_val_if_fail (self->priv->legacy_window, 0);
82
86
 
83
87
  return (BamfWindowType) wnck_window_get_window_type (self->priv->legacy_window);
88
92
{
89
93
  g_return_val_if_fail (BAMF_IS_LEGACY_WINDOW (self), FALSE);
90
94
 
91
 
 
92
95
  if (BAMF_LEGACY_WINDOW_GET_CLASS (self)->needs_attention)
93
96
    return BAMF_LEGACY_WINDOW_GET_CLASS (self)->needs_attention (self);
94
97
 
356
359
  g_signal_emit (self, legacy_window_signals[GEOMETRY_CHANGED], 0);
357
360
}
358
361
 
359
 
gboolean 
 
362
gboolean
360
363
bamf_legacy_window_is_closed (BamfLegacyWindow *self)
361
364
{
362
365
  g_return_val_if_fail (BAMF_IS_LEGACY_WINDOW (self), TRUE);
363
 
  
 
366
 
 
367
  if (BAMF_LEGACY_WINDOW_GET_CLASS (self)->is_closed)
 
368
    return BAMF_LEGACY_WINDOW_GET_CLASS (self)->is_closed (self);
 
369
 
364
370
  return self->priv->is_closed;
365
371
}
366
372
 
463
469
bamf_legacy_window_reopen (BamfLegacyWindow *self)
464
470
{
465
471
  g_return_if_fail (BAMF_IS_LEGACY_WINDOW (self));
 
472
 
 
473
  if (BAMF_LEGACY_WINDOW_GET_CLASS (self)->reopen)
 
474
    return BAMF_LEGACY_WINDOW_GET_CLASS (self)->reopen (self);
 
475
 
466
476
  g_return_if_fail (WNCK_IS_WINDOW (self->priv->legacy_window));
467
477
 
468
478
  guint xid = bamf_legacy_window_get_xid (self);
488
498
 
489
499
  g_signal_handler_disconnect (wnck_screen_get_default (),
490
500
                               self->priv->closed_id);
491
 
                               
 
501
 
492
502
  if (self->priv->mini_icon_path)
493
503
    {
494
504
      file = g_file_new_for_path (self->priv->mini_icon_path);
495
505
      g_file_delete (file, NULL, NULL);
496
506
      g_object_unref (file);
497
 
      
 
507
 
498
508
      g_free (self->priv->mini_icon_path);
499
509
      self->priv->mini_icon_path = NULL;
500
510
    }