Skip to content

Commit 6934f93

Browse files
yetistraveit65
authored andcommitted
Avoid compile warning for g_type_class_add_private
Fixes the issue with GLib >= 2.58, list of modified files: - egg/eggsmclient.c - egg/eggsmclient.h
1 parent 582bcba commit 6934f93

2 files changed

Lines changed: 46 additions & 67 deletions

File tree

egg/eggsmclient.c

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
#include "eggsmclient-private.h"
2727

2828
static void egg_sm_client_debug_handler (const char *log_domain,
29-
GLogLevelFlags log_level,
30-
const char *message,
31-
gpointer user_data);
29+
GLogLevelFlags log_level,
30+
const char *message,
31+
gpointer user_data);
3232

3333
enum {
3434
SAVE_STATE,
@@ -40,13 +40,11 @@ enum {
4040

4141
static guint signals[LAST_SIGNAL] = { 0 };
4242

43-
struct _EggSMClientPrivate {
43+
typedef struct {
4444
GKeyFile *state_file;
45-
};
46-
47-
#define EGG_SM_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EGG_TYPE_SM_CLIENT, EggSMClientPrivate))
45+
}EggSMClientPrivate;
4846

49-
G_DEFINE_TYPE (EggSMClient, egg_sm_client, G_TYPE_OBJECT)
47+
G_DEFINE_TYPE_WITH_PRIVATE (EggSMClient, egg_sm_client, G_TYPE_OBJECT)
5048

5149
static EggSMClient *global_client;
5250
static EggSMClientMode global_client_mode = EGG_SM_CLIENT_MODE_NORMAL;
@@ -62,8 +60,6 @@ egg_sm_client_class_init (EggSMClientClass *klass)
6260
{
6361
GObjectClass *object_class = G_OBJECT_CLASS (klass);
6462

65-
g_type_class_add_private (klass, sizeof (EggSMClientPrivate));
66-
6763
/**
6864
* EggSMClient::save_state:
6965
* @client: the client
@@ -182,9 +178,9 @@ static char *sm_config_prefix = NULL;
182178

183179
static gboolean
184180
sm_client_post_parse_func (GOptionContext *context,
185-
GOptionGroup *group,
186-
gpointer data,
187-
GError **error)
181+
GOptionGroup *group,
182+
gpointer data,
183+
GError **error)
188184
{
189185
EggSMClient *client = egg_sm_client_get ();
190186

@@ -246,12 +242,12 @@ egg_sm_client_get_option_group (void)
246242

247243
/* Use our own debug handler for the "EggSMClient" domain. */
248244
g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,
249-
egg_sm_client_debug_handler, NULL);
245+
egg_sm_client_debug_handler, NULL);
250246

251247
group = g_option_group_new ("sm-client",
252-
_("Session management options:"),
253-
_("Show session management options"),
254-
NULL, NULL);
248+
_("Session management options:"),
249+
_("Show session management options"),
250+
NULL, NULL);
255251
g_option_group_add_entries (group, entries);
256252
g_option_group_set_parse_hooks (group, NULL, sm_client_post_parse_func);
257253

@@ -316,36 +312,36 @@ EggSMClient *
316312
egg_sm_client_get (void)
317313
{
318314
if (!global_client)
315+
{
316+
if (global_client_mode != EGG_SM_CLIENT_MODE_DISABLED &&
317+
!sm_client_disable)
319318
{
320-
if (global_client_mode != EGG_SM_CLIENT_MODE_DISABLED &&
321-
!sm_client_disable)
322-
{
323319
#if defined (GDK_WINDOWING_WIN32)
324-
global_client = egg_sm_client_win32_new ();
320+
global_client = egg_sm_client_win32_new ();
325321
#elif defined (GDK_WINDOWING_QUARTZ)
326-
global_client = egg_sm_client_osx_new ();
322+
global_client = egg_sm_client_osx_new ();
327323
#else
328-
/* If both D-Bus and XSMP are compiled in, try XSMP first
329-
* (since it supports state saving) and fall back to D-Bus
330-
* if XSMP isn't available.
331-
*/
324+
/* If both D-Bus and XSMP are compiled in, try XSMP first
325+
* (since it supports state saving) and fall back to D-Bus
326+
* if XSMP isn't available.
327+
*/
332328
# ifdef EGG_SM_CLIENT_BACKEND_XSMP
333-
global_client = egg_sm_client_xsmp_new ();
329+
global_client = egg_sm_client_xsmp_new ();
334330
# endif
335331
# ifdef EGG_SM_CLIENT_BACKEND_DBUS
336-
if (!global_client)
337-
global_client = egg_sm_client_dbus_new ();
332+
if (!global_client)
333+
global_client = egg_sm_client_dbus_new ();
338334
# endif
339335
#endif
340-
}
341-
342-
/* Fallback: create a dummy client, so that callers don't have
343-
* to worry about a %NULL return value.
344-
*/
345-
if (!global_client)
346-
global_client = g_object_new (EGG_TYPE_SM_CLIENT, NULL);
347336
}
348337

338+
/* Fallback: create a dummy client, so that callers don't have
339+
* to worry about a %NULL return value.
340+
*/
341+
if (!global_client)
342+
global_client = g_object_new (EGG_TYPE_SM_CLIENT, NULL);
343+
}
344+
349345
return global_client;
350346
}
351347

@@ -390,7 +386,8 @@ egg_sm_client_is_resumed (EggSMClient *client)
390386
GKeyFile *
391387
egg_sm_client_get_state_file (EggSMClient *client)
392388
{
393-
EggSMClientPrivate *priv = EGG_SM_CLIENT_GET_PRIVATE (client);
389+
EggSMClientPrivate *priv = egg_sm_client_get_instance_private (client);
390+
394391
char *state_file_path;
395392
GError *err = NULL;
396393

@@ -410,7 +407,7 @@ egg_sm_client_get_state_file (EggSMClient *client)
410407
if (!g_key_file_load_from_file (priv->state_file, state_file_path, 0, &err))
411408
{
412409
g_warning ("Could not load SM state file '%s': %s",
413-
sm_client_state_file, err->message);
410+
sm_client_state_file, err->message);
414411
g_clear_error (&err);
415412
g_key_file_free (priv->state_file);
416413
priv->state_file = NULL;
@@ -435,8 +432,8 @@ egg_sm_client_get_state_file (EggSMClient *client)
435432
**/
436433
void
437434
egg_sm_client_set_restart_command (EggSMClient *client,
438-
int argc,
439-
const char **argv)
435+
int argc,
436+
const char **argv)
440437
{
441438
g_return_if_fail (EGG_IS_SM_CLIENT (client));
442439

@@ -464,7 +461,7 @@ egg_sm_client_set_restart_command (EggSMClient *client,
464461
**/
465462
void
466463
egg_sm_client_will_quit (EggSMClient *client,
467-
gboolean will_quit)
464+
gboolean will_quit)
468465
{
469466
g_return_if_fail (EGG_IS_SM_CLIENT (client));
470467

@@ -490,7 +487,7 @@ egg_sm_client_will_quit (EggSMClient *client,
490487
**/
491488
gboolean
492489
egg_sm_client_end_session (EggSMClientEndStyle style,
493-
gboolean request_confirmation)
490+
gboolean request_confirmation)
494491
{
495492
EggSMClient *client = egg_sm_client_get ();
496493

@@ -499,7 +496,7 @@ egg_sm_client_end_session (EggSMClientEndStyle style,
499496
if (EGG_SM_CLIENT_GET_CLASS (client)->end_session)
500497
{
501498
return EGG_SM_CLIENT_GET_CLASS (client)->end_session (client, style,
502-
request_confirmation);
499+
request_confirmation);
503500
}
504501
else
505502
return FALSE;
@@ -575,9 +572,9 @@ egg_sm_client_quit (EggSMClient *client)
575572

576573
static void
577574
egg_sm_client_debug_handler (const char *log_domain,
578-
GLogLevelFlags log_level,
579-
const char *message,
580-
gpointer user_data)
575+
GLogLevelFlags log_level,
576+
const char *message,
577+
gpointer user_data)
581578
{
582579
static int debug = -1;
583580

egg/eggsmclient.h

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,10 @@
2222

2323
#include <glib-object.h>
2424

25-
#ifdef __cplusplus
26-
extern "C" {
27-
#endif
25+
G_BEGIN_DECLS
2826

2927
#define EGG_TYPE_SM_CLIENT (egg_sm_client_get_type ())
30-
#define EGG_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT, EggSMClient))
31-
#define EGG_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT, EggSMClientClass))
32-
#define EGG_IS_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT))
33-
#define EGG_IS_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT))
34-
#define EGG_SM_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT, EggSMClientClass))
35-
36-
typedef struct _EggSMClient EggSMClient;
37-
typedef struct _EggSMClientClass EggSMClientClass;
38-
typedef struct _EggSMClientPrivate EggSMClientPrivate;
28+
G_DECLARE_DERIVABLE_TYPE (EggSMClient, egg_sm_client, EGG, SM_CLIENT, GObject)
3929

4030
typedef enum {
4131
EGG_SM_CLIENT_END_SESSION_DEFAULT,
@@ -50,12 +40,6 @@ typedef enum {
5040
EGG_SM_CLIENT_MODE_NORMAL
5141
} EggSMClientMode;
5242

53-
struct _EggSMClient
54-
{
55-
GObject parent;
56-
57-
};
58-
5943
struct _EggSMClientClass
6044
{
6145
GObjectClass parent_class;
@@ -113,8 +97,6 @@ void egg_sm_client_will_quit (EggSMClient *client,
11397
gboolean egg_sm_client_end_session (EggSMClientEndStyle style,
11498
gboolean request_confirmation);
11599

116-
#ifdef __cplusplus
117-
}
118-
#endif
100+
G_END_DECLS
119101

120102
#endif /* __EGG_SM_CLIENT_H__ */

0 commit comments

Comments
 (0)