From: Robert Luberda <robert@debian.org>
Date: Sun, 22 Mar 2015 16:35:31 +0100
Subject: 44 Fix build with gcc 5

Remove `inline' keywords from header files, and fix implicit
declaration warnings to make the code compile with gcc 5, which
have the c99 standard enabled by default.

Bug-Debian: https://bugs.debian.org/777768
---
 libAfterBase/asvector.h     | 2 +-
 libAfterBase/output.h       | 2 +-
 libAfterBase/parse.h        | 2 +-
 libAfterConf/Feel.c         | 2 ++
 libAfterStep/colorscheme.c  | 2 +-
 libAfterStep/event.c        | 2 +-
 libAfterStep/functions.h    | 2 +-
 libAfterStep/mylook.h       | 8 ++++----
 libAfterStep/session.h      | 2 +-
 src/WinList2/WinList.c      | 2 +-
 src/afterstep/asinternals.h | 9 +++++++--
 src/afterstep/events.c      | 1 +
 src/afterstep/menuitem.c    | 2 ++
 13 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/libAfterBase/asvector.h b/libAfterBase/asvector.h
index 242bbb8..ec83231 100644
--- libAfterBase/asvector.h
+++ libAfterBase/asvector.h
@@ -38,7 +38,7 @@ ASVector *append_vector( ASVector *v, void * data, size_t size );
 /* returns index on success, -1 on failure */
 int vector_insert_elem( ASVector *v, void *data, size_t size, void *sibling, int before );
 int vector_relocate_elem (ASVector *v, unsigned int index, unsigned int new_index);
-inline size_t vector_find_data (ASVector *v, void *data );
+size_t vector_find_data (ASVector *v, void *data );
 int vector_find_elem( ASVector *v, void *data );
 /* returns 1 on success, 0 on failure */
 int vector_remove_elem( ASVector *v, void *data );
diff --git a/libAfterBase/output.h b/libAfterBase/output.h
index fd186a7..ef21919 100644
--- libAfterBase/output.h
+++ libAfterBase/output.h
@@ -56,7 +56,7 @@ Bool show_debug( const char *file, const char *func, int line, const char *msg_f
 
 
 void nonGNUC_debugout( const char *format, ...);
-inline void nonGNUC_debugout_stub( const char *format, ...);
+void nonGNUC_debugout_stub( const char *format, ...);
 /* may be used below in case compilation problems occur.
  * Please submit a bug report if usage of any of the following generates errors on
  * your compiler . Thanks!!! */
diff --git a/libAfterBase/parse.h b/libAfterBase/parse.h
index 193fbba..e4db499 100644
--- libAfterBase/parse.h
+++ libAfterBase/parse.h
@@ -73,7 +73,7 @@ format_geometry ( int x, int y, unsigned int width, unsigned int height, int fla
 
 double parse_math(const char* str, char** endptr, double size);
 
-inline int unsigned_int2buffer_end (char *buffer, int buffer_size, unsigned int val);
+int unsigned_int2buffer_end (char *buffer, int buffer_size, unsigned int val);
 char *string_from_int (int param);
 char *hex_to_buffer_reverse(void *data, size_t bytes, char* buffer);
 char *hex_to_buffer(void *data, size_t bytes, char* buffer);
diff --git a/libAfterConf/Feel.c b/libAfterConf/Feel.c
index 0f2224b..787964d 100644
--- libAfterConf/Feel.c
+++ libAfterConf/Feel.c
@@ -29,6 +29,8 @@
 
 #include "afterconf.h"
 
+#include <X11/XKBlib.h>
+
 
 flag_options_xref WindowBoxFlagsXref[] = {
 	{ASA_Virtual, WINDOWBOX_Virtual_ID, 0}
diff --git a/libAfterStep/colorscheme.c b/libAfterStep/colorscheme.c
index 6cdeb56..5b93107 100644
--- libAfterStep/colorscheme.c
+++ libAfterStep/colorscheme.c
@@ -162,7 +162,7 @@ static inline ARGB32 MAKE_ARGB32_SHADE100 (CARD32 a, int s100)
 	return MAKE_ARGB32_GREY8 (a, s8);
 }
 
-inline void
+static inline void
 make_mono_grad_argb (ARGB32 * grad, ARGB32 base_alpha16, int shade100,
 										 int *val_ret)
 {
diff --git a/libAfterStep/event.c b/libAfterStep/event.c
index a27759b..8c7a449 100644
--- libAfterStep/event.c
+++ libAfterStep/event.c
@@ -202,7 +202,7 @@ void sync_event_queue (Bool forget)
 /****************************************************************************
  * Records the time of the last processed event. Used in XSetInputFocus
  ****************************************************************************/
-inline Time stash_event_time (XEvent * xevent)
+static inline Time stash_event_time (XEvent * xevent)
 {
 	if (xevent->type < LASTEvent) {
 		register Time *ptime =
diff --git a/libAfterStep/functions.h b/libAfterStep/functions.h
index fb565f1..a50f4e3 100644
--- libAfterStep/functions.h
+++ libAfterStep/functions.h
@@ -314,7 +314,7 @@ FunctionCode change_func_code (const char *func_name, FunctionCode new_code);
 void init_func_data (FunctionData * data);
 void copy_func_data (FunctionData * dst, FunctionData * src);
 void dup_func_data (FunctionData * dst, FunctionData * src);
-inline FunctionData *create_named_function( int func, char *name);
+FunctionData *create_named_function( int func, char *name);
 void set_func_val (FunctionData * data, int arg, int value);
 int free_func_data (FunctionData * data);
 void destroy_func_data( FunctionData **pdata );
diff --git a/libAfterStep/mylook.h b/libAfterStep/mylook.h
index 7bff0b8..a002aa8 100644
--- libAfterStep/mylook.h
+++ libAfterStep/mylook.h
@@ -397,7 +397,7 @@ void myback_delete( MyBackground **myback, ASImageManager *imman );
 MyDesktopConfig *create_mydeskconfig( int desk, char *data );
 void init_deskconfigs_list( MyLook *look );
 void mydeskconfig_delete( MyDesktopConfig **dc );
-inline MyDesktopConfig *add_deskconfig_to_list( ASHashTable *list, MyDesktopConfig *dc );
+MyDesktopConfig *add_deskconfig_to_list( ASHashTable *list, MyDesktopConfig *dc );
 MyDesktopConfig *add_deskconfig( MyLook *look, MyDesktopConfig *dc );
 
 ARGB32 get_random_tint_color();
@@ -411,9 +411,9 @@ void mylook_set_font_size_var (MyLook * look);
 
 
 struct MyStyle *mylook_get_style(MyLook *look, const char *name);
-inline MyBackground  *mylook_get_desk_back(MyLook *look, long desk);
-inline MyBackground  *mylook_get_back(MyLook *look, char *name);
-inline MyDesktopConfig *mylook_get_desk_config(MyLook *look, long desk);
+MyBackground  *mylook_get_desk_back(MyLook *look, long desk);
+MyBackground  *mylook_get_back(MyLook *look, char *name);
+MyDesktopConfig *mylook_get_desk_config(MyLook *look, long desk);
 
 
 
diff --git a/libAfterStep/session.h b/libAfterStep/session.h
index 536e225..73945d8 100644
--- libAfterStep/session.h
+++ libAfterStep/session.h
@@ -49,7 +49,7 @@ void 	   destroy_assession (ASSession * session);
 void       update_default_session ( ASSession *session, int func);
 
 void 	   set_session_override(ASSession * session, const char *overriding_file, int function );
-inline const char *get_session_override(ASSession * session, int function );
+const char *get_session_override(ASSession * session, int function );
 
 void 	   change_default_session (ASSession * session, const char *new_val, int function);
 void 	   change_desk_session (ASSession * session, int desk, const char *new_val, int function);
diff --git a/src/WinList2/WinList.c b/src/WinList2/WinList.c
index 6db35ac..6c98f38 100644
--- src/WinList2/WinList.c
+++ src/WinList2/WinList.c
@@ -976,7 +976,7 @@ moveresize_main_canvas( int width, int height )
 void
 postponed_rearrange_winlist( void *vdata )
 {
-    Bool dont_resize_main_canvas  = (Bool)vdata ;   
+    Bool dont_resize_main_canvas  = vdata != NULL;
     rearrange_winlist_window( dont_resize_main_canvas );    
 }
 
diff --git a/src/afterstep/asinternals.h b/src/afterstep/asinternals.h
index 81b3249..9f75fd8 100644
--- src/afterstep/asinternals.h
+++ src/afterstep/asinternals.h
@@ -575,6 +575,7 @@ void asdbus_shutdown();
 void asdbus_process_messages ();
 
 char *asdbus_RegisterSMClient(const char *sm_client_id);
+void asdbus_UnregisterSMClient (const char *sm_client_path);
 void asdbus_Notify(const char *summary, const char *body, int timeout);
 
 typedef enum {
@@ -585,6 +586,10 @@ typedef enum {
 
 Bool asdbus_GetCanLogout ();
 Bool asdbus_Logout (ASDbusLogoutMode mode, int timeout);
+Bool asdbus_GetCanSuspend ();
+Bool asdbus_Suspend (int timeout);
+Bool asdbus_GetCanHibernate ();
+Bool asdbus_Hibernate (int timeout);
 Bool asdbus_GetCanShutdown ();
 Bool asdbus_Shutdown (int timeout);
 Bool get_gnome_autosave ();
@@ -689,8 +694,8 @@ void ParsePopupEntry (char *tline, FILE * fd, char **junk, int *junk2);
 
 
 /*************************** misc.c *********************************/
-inline void ungrab_window_buttons( Window w );
-inline void ungrab_window_keys (Window w );
+void ungrab_window_buttons( Window w );
+void ungrab_window_keys (Window w );
 void MyXGrabButton ( unsigned button, unsigned modifiers,
 				Window grab_window, Bool owner_events, unsigned event_mask,
 				int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor);
diff --git a/src/afterstep/events.c b/src/afterstep/events.c
index 5588ffb..19e5441 100644
--- src/afterstep/events.c
+++ src/afterstep/events.c
@@ -46,6 +46,7 @@
 #include "../../libAfterStep/moveresize.h"
 
 #include <X11/keysym.h>
+#include <X11/XKBlib.h>
 #ifdef XSHMIMAGE
 # include <sys/ipc.h>
 # include <sys/shm.h>
diff --git a/src/afterstep/menuitem.c b/src/afterstep/menuitem.c
index 1adcb65..8a35186 100644
--- src/afterstep/menuitem.c
+++ src/afterstep/menuitem.c
@@ -55,6 +55,8 @@
 
 #include "dirtree.h"
 
+#include <X11/XKBlib.h>
+
 /***************************************************************************/
 /*                      Menu functions                                     */
 /***************************************************************************/
