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 690036 - shell: Make all control-center plugins static
shell: Make all control-center plugins static
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: shell
unspecified
Other All
: Normal normal
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-12-11 10:49 UTC by Bastien Nocera
Modified: 2012-12-11 16:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
shell: Make all control-center plugins static (93.03 KB, patch)
2012-12-11 10:49 UTC, Bastien Nocera
none Details | Review
shell: Make all control-center plugins static (94.79 KB, patch)
2012-12-11 11:26 UTC, Bastien Nocera
none Details | Review
shell: Make all control-center plugins static (95.74 KB, patch)
2012-12-11 12:27 UTC, Bastien Nocera
committed Details | Review
export required symbols of CcEditableEntry (276 bytes, patch)
2012-12-11 14:40 UTC, Marek Kašík
none Details | Review

Description Bastien Nocera 2012-12-11 10:49:54 UTC
.
Comment 1 Bastien Nocera 2012-12-11 10:49:57 UTC
Created attachment 231248 [details] [review]
shell: Make all control-center plugins static

This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.

By the same token, it will stop external panels from being
created, and loaded.

TODO:
- Find why the user accounts and region panels don't link
- Check for NM version better (missing nm_device_bond_get_slaves ())
- Add #ifdef around optional panels in gnome-control-center.c
  (requires configure changes)
Comment 2 Bastien Nocera 2012-12-11 11:26:25 UTC
Created attachment 231249 [details] [review]
shell: Make all control-center plugins static

This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.

By the same token, it will stop external panels from being
created, and loaded.

TODO:
- Find why the user accounts and region panels don't link
Comment 3 Bastien Nocera 2012-12-11 12:27:00 UTC
Created attachment 231251 [details] [review]
shell: Make all control-center plugins static

This makes loading faster, with less I/O, avoids unnecessary
code duplication (around 1k lines shaved), and ensures that
all the panels link and work appropriately.

By the same token, it will stop external panels from being
created, and loaded.
Comment 4 Marek Kašík 2012-12-11 14:40:28 UTC
Created attachment 231263 [details] [review]
export required symbols of CcEditableEntry

Hi,

the reason for the crash in Printers panel is that GtkBuildable couldn't find required symbols for CcEditableEntry so it couldn't create ui for Printers panel and therefore the init of Printers panel returned without proper initialization.
Attached patch fixes the problem for me.

Regards

Marek
Comment 5 Bastien Nocera 2012-12-11 16:13:43 UTC
Thanks for the patch Marek, the line was incorrectly removed from the Makefile.am by me...

Attachment 231251 [details] pushed as 3686cf7 - shell: Make all control-center plugins static