Initialize SWE-GLib from each class init function

This is to satisfy #8. Also, this makes SWE-GLib available for GLib
before 2.36, as gswe_init() also calls g_type_init(), which was necessary
before GLib 2.36
This commit is contained in:
Gergely Polonkai 2013-10-05 02:18:30 +02:00
parent 695f5b96ae
commit 367b777a2d
2 changed files with 10 additions and 1 deletions

View File

@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
#include "swe-glib.h"
#include "gswe-enumtypes.h"
#include "@filename@"
@ -31,6 +32,8 @@ GType
{
static volatile gsize g_define_type_id__volatile = 0;
gswe_init();
if (g_once_init_enter(&g_define_type_id__volatile)) {
static const G@Type@Value values[] = {
/*** END value-header ***/

View File

@ -865,6 +865,8 @@ gswe_timestamp_get_julian_day(GsweTimestamp *timestamp, GError **err)
GsweTimestamp *
gswe_timestamp_new(void)
{
gswe_init();
return GSWE_TIMESTAMP(g_object_new(GSWE_TYPE_TIMESTAMP, NULL));
}
@ -886,7 +888,11 @@ gswe_timestamp_new(void)
GsweTimestamp *
gswe_timestamp_new_from_gregorian_full(gint year, gint month, gint day, gint hour, gint minute, gint second, gint microsecond, gdouble time_zone_offset)
{
GsweTimestamp *timestamp = GSWE_TIMESTAMP(g_object_new(GSWE_TYPE_TIMESTAMP,
GsweTimestamp *timestamp;
gswe_init();
timestamp = GSWE_TIMESTAMP(g_object_new(GSWE_TYPE_TIMESTAMP,
"gregorian-year", year,
"gregorian-month", month,
"gregorian-day", day,