|
Lines 186-196
store_display (GdmLocalDisplayFactory *factory,
Link Here
|
| 186 |
{ |
186 |
{ |
| 187 |
GdmDisplayStore *store; |
187 |
GdmDisplayStore *store; |
| 188 |
|
188 |
|
| 189 |
g_signal_connect (display, "notify::status", |
|
|
| 190 |
G_CALLBACK (on_display_status_changed), factory); |
| 191 |
|
| 192 |
g_object_weak_ref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory); |
| 193 |
|
| 194 |
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); |
189 |
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); |
| 195 |
gdm_display_store_add (store, display); |
190 |
gdm_display_store_add (store, display); |
| 196 |
} |
191 |
} |
|
Lines 577-590
gdm_local_display_factory_stop_monitor (GdmLocalDisplayFactory *factory)
Link Here
|
| 577 |
|
572 |
|
| 578 |
#endif |
573 |
#endif |
| 579 |
|
574 |
|
|
|
575 |
static void |
| 576 |
on_display_added (GdmDisplayStore *display_store, |
| 577 |
const char *id, |
| 578 |
GdmLocalDisplayFactory *factory) |
| 579 |
{ |
| 580 |
GdmDisplay *display; |
| 581 |
|
| 582 |
display = gdm_display_store_lookup (display_store, id); |
| 583 |
|
| 584 |
if (display != NULL) { |
| 585 |
g_signal_connect (display, "notify::status", |
| 586 |
G_CALLBACK (on_display_status_changed), factory); |
| 587 |
|
| 588 |
g_object_weak_ref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory); |
| 589 |
} |
| 590 |
} |
| 591 |
|
| 592 |
static void |
| 593 |
on_display_removed (GdmDisplayStore *display_store, |
| 594 |
const char *id, |
| 595 |
GdmLocalDisplayFactory *factory) |
| 596 |
{ |
| 597 |
GdmDisplay *display; |
| 598 |
|
| 599 |
display = gdm_display_store_lookup (display_store, id); |
| 600 |
|
| 601 |
if (display != NULL) { |
| 602 |
g_signal_handlers_disconnect_by_func (display, G_CALLBACK (on_display_status_changed), factory); |
| 603 |
g_object_weak_unref (G_OBJECT (display), (GWeakNotify)on_display_disposed, factory); |
| 604 |
|
| 605 |
} |
| 606 |
} |
| 607 |
|
| 580 |
static gboolean |
608 |
static gboolean |
| 581 |
gdm_local_display_factory_start (GdmDisplayFactory *base_factory) |
609 |
gdm_local_display_factory_start (GdmDisplayFactory *base_factory) |
| 582 |
{ |
610 |
{ |
| 583 |
GdmLocalDisplayFactory *factory = GDM_LOCAL_DISPLAY_FACTORY (base_factory); |
611 |
GdmLocalDisplayFactory *factory = GDM_LOCAL_DISPLAY_FACTORY (base_factory); |
| 584 |
GdmDisplay *display; |
612 |
GdmDisplay *display; |
|
|
613 |
GdmDisplayStore *store; |
| 585 |
|
614 |
|
| 586 |
g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); |
615 |
g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); |
| 587 |
|
616 |
|
|
|
617 |
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); |
| 618 |
|
| 619 |
g_signal_connect (G_OBJECT (store), |
| 620 |
"display-added", |
| 621 |
G_CALLBACK (on_display_added), |
| 622 |
factory); |
| 623 |
|
| 624 |
g_signal_connect (G_OBJECT (store), |
| 625 |
"display-removed", |
| 626 |
G_CALLBACK (on_display_removed), |
| 627 |
factory); |
| 628 |
|
| 588 |
#ifdef WITH_SYSTEMD |
629 |
#ifdef WITH_SYSTEMD |
| 589 |
if (LOGIND_RUNNING()) { |
630 |
if (LOGIND_RUNNING()) { |
| 590 |
gdm_local_display_factory_start_monitor (factory); |
631 |
gdm_local_display_factory_start_monitor (factory); |
|
Lines 602-607
static gboolean
Link Here
|
| 602 |
gdm_local_display_factory_stop (GdmDisplayFactory *base_factory) |
643 |
gdm_local_display_factory_stop (GdmDisplayFactory *base_factory) |
| 603 |
{ |
644 |
{ |
| 604 |
GdmLocalDisplayFactory *factory = GDM_LOCAL_DISPLAY_FACTORY (base_factory); |
645 |
GdmLocalDisplayFactory *factory = GDM_LOCAL_DISPLAY_FACTORY (base_factory); |
|
|
646 |
GdmDisplayStore *store; |
| 605 |
|
647 |
|
| 606 |
g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); |
648 |
g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE); |
| 607 |
|
649 |
|
|
Lines 609-614
gdm_local_display_factory_stop (GdmDisplayFactory *base_factory)
Link Here
|
| 609 |
gdm_local_display_factory_stop_monitor (factory); |
651 |
gdm_local_display_factory_stop_monitor (factory); |
| 610 |
#endif |
652 |
#endif |
| 611 |
|
653 |
|
|
|
654 |
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); |
| 655 |
|
| 656 |
g_signal_handlers_disconnect_by_func (G_OBJECT (store), |
| 657 |
G_CALLBACK (on_display_added), |
| 658 |
factory); |
| 659 |
g_signal_handlers_disconnect_by_func (G_OBJECT (store), |
| 660 |
G_CALLBACK (on_display_removed), |
| 661 |
factory); |
| 662 |
|
| 612 |
return TRUE; |
663 |
return TRUE; |
| 613 |
} |
664 |
} |
| 614 |
|
665 |
|
| 615 |
- |
|
|
| 616 |
actually a stub |
666 |
actually a stub |
| 617 |
bug 747339 ) |
667 |
bug 747339 ) |
| 618 |
-- |
|
|
| 619 |
daemon/gdm-manager.c | 10 ++++++---- |
668 |
daemon/gdm-manager.c | 10 ++++++---- |
| 620 |
1 file changed, 6 insertions(+), 4 deletions(-) |
669 |
1 file changed, 6 insertions(+), 4 deletions(-) |