~timo-jyrinki/bamf/ubuntu-0.2.124.1

« back to all changes in this revision

Viewing changes to lib/libbamf/bamf-window.c

  • Committer: Sebastien Bacher
  • Date: 2012-05-24 10:45:29 UTC
  • mfrom: (416.1.1 ubuntu)
  • Revision ID: seb128@ubuntu.com-20120524104529-0qdsxch9ovw2r5vk
[ Didier Roche ]
* New upstream release. (0.2.116)
[ Alan Pope ]
* New upstream release.
  - Unity crashed in bamf_application_on_window_removed (LP: #1000577)
  - Locked smuxi launcher icon does not indicate smuxi running status
    (LP: #999820)
  - No launcher icon or Alt+Tab entry for Gimp windows (LP: #995916)
  - the RunningApplicationsChanged signal is no longer emitted when an 
    application is closed since r460 (LP: #989551)

Show diffs side-by-side

added added

removed removed

Lines of Context:
103
103
  if (!path)
104
104
    return NULL;
105
105
 
106
 
  transient = bamf_factory_view_for_path (bamf_factory_get_default (), path);
 
106
  BamfFactory *factory = bamf_factory_get_default ();
 
107
  transient = bamf_factory_view_for_path_type (factory, path, BAMF_FACTORY_WINDOW);
107
108
  g_free (path);  
108
109
 
109
110
  if (!BAMF_IS_WINDOW (transient))
227
228
}
228
229
 
229
230
static void
 
231
bamf_window_unset_proxy (BamfWindow *self)
 
232
{
 
233
  BamfWindowPrivate *priv;
 
234
 
 
235
  g_return_if_fail (BAMF_IS_WINDOW (self));
 
236
  priv = self->priv;
 
237
 
 
238
  if (!priv->proxy)
 
239
    return;
 
240
 
 
241
  dbus_g_proxy_disconnect_signal (self->priv->proxy,
 
242
                                  "MaximizedChanged",
 
243
                                  (GCallback) bamf_window_on_maximized_changed,
 
244
                                  self);
 
245
 
 
246
  dbus_g_proxy_disconnect_signal (self->priv->proxy,
 
247
                                  "MonitorChanged",
 
248
                                  (GCallback) bamf_window_on_monitor_changed,
 
249
                                  self);
 
250
 
 
251
  g_object_unref (priv->proxy);
 
252
  priv->proxy = NULL;
 
253
}
 
254
 
 
255
static void
230
256
bamf_window_set_path (BamfView *view, const char *path)
231
257
{
232
258
  BamfWindow *self;
235
261
  self = BAMF_WINDOW (view);
236
262
  priv = self->priv;
237
263
 
 
264
  bamf_window_unset_proxy (self);
238
265
  priv->proxy = dbus_g_proxy_new_for_name (priv->connection,
239
266
                                           "org.ayatana.bamf",
240
267
                                           path,
379
406
bamf_window_dispose (GObject *object)
380
407
{
381
408
  BamfWindow *self;
382
 
  BamfWindowPrivate *priv;
383
409
  
384
410
  self = BAMF_WINDOW (object);
385
 
  priv = self->priv;
386
 
  
387
 
  if (priv->proxy)
388
 
    {
389
 
      dbus_g_proxy_disconnect_signal (priv->proxy,
390
 
                                      "MaximizedChanged",
391
 
                                      (GCallback) bamf_window_on_maximized_changed,
392
 
                                      self);
393
 
 
394
 
      dbus_g_proxy_disconnect_signal (priv->proxy,
395
 
                                      "MonitorChanged",
396
 
                                      (GCallback) bamf_window_on_monitor_changed,
397
 
                                      self);
398
 
 
399
 
      g_object_unref (priv->proxy);
400
 
      priv->proxy = NULL;
401
 
    }
 
411
  bamf_window_unset_proxy (self);
402
412
 
403
413
  if (G_OBJECT_CLASS (bamf_window_parent_class)->dispose)
404
414
    G_OBJECT_CLASS (bamf_window_parent_class)->dispose (object);
466
476
{
467
477
  BamfWindow *self;
468
478
  self = g_object_new (BAMF_TYPE_WINDOW, NULL);
469
 
  
 
479
 
470
480
  bamf_view_set_path (BAMF_VIEW (self), path);
471
481
 
472
482
  return self;