--- xfwm4-4.0.4/src/events.c.orig 2003-12-17 17:35:08.189952000 -0500 +++ xfwm4-4.0.4/src/events.c 2003-12-17 17:38:57.674012000 -0500 @@ -512,8 +512,9 @@ static inline void button1Action (Client * c, XButtonEvent * ev) { - XEvent copy_event = (XEvent) * ev; + XEvent copy_event; XfwmButtonClickType tclick; + memcpy(©_event, ev, sizeof(XEvent)); g_return_if_fail (c != NULL); g_return_if_fail (ev != NULL); @@ -569,8 +570,9 @@ for gtk to handle it (in case we open up the menu) */ - XEvent copy_event = (XEvent) * ev; + XEvent copy_event; XfwmButtonClickType tclick; + memcpy(©_event, ev, sizeof(XEvent)); tclick = typeOfClick (c->frame, ©_event, FALSE); @@ -716,8 +718,9 @@ for gtk to handle it (in case we open up the menu) */ - XEvent copy_event = (XEvent) * ev; + XEvent copy_event; XfwmButtonClickType tclick; + memcpy(©_event, ev, sizeof(XEvent)); tclick = typeOfClick (c->frame, ©_event, TRUE); --- xfwm4-4.0.4/src/frame.h.orig 2003-12-17 17:51:44.128175000 -0500 +++ xfwm4-4.0.4/src/frame.h 2003-12-17 17:52:01.100175000 -0500 @@ -27,14 +27,14 @@ #include "client.h" -inline int frameLeft (Client *); -inline int frameRight (Client *); -inline int frameTop (Client *); -inline int frameBottom (Client *); -inline int frameX (Client *); -inline int frameY (Client *); -inline int frameWidth (Client *); -inline int frameHeight (Client *); +int frameLeft (Client *); +int frameRight (Client *); +int frameTop (Client *); +int frameBottom (Client *); +int frameX (Client *); +int frameY (Client *); +int frameWidth (Client *); +int frameHeight (Client *); void frameDraw (Client *, gboolean, gboolean); #endif /* INC_FRAME_H */ --- xfwm4-4.0.4/src/frame.c.orig 2003-12-17 17:54:00.521421000 -0500 +++ xfwm4-4.0.4/src/frame.c 2003-12-17 17:54:25.200092000 -0500 @@ -30,7 +30,7 @@ #include "mywindow.h" #include "frame.h" -inline int +int frameLeft (Client * c) { TRACE ("entering frameLeft"); @@ -43,7 +43,7 @@ return 0; } -inline int +int frameRight (Client * c) { TRACE ("entering frameRight"); @@ -56,7 +56,7 @@ return 0; } -inline int +int frameTop (Client * c) { TRACE ("entering frameTop"); @@ -69,7 +69,7 @@ return 0; } -inline int +int frameBottom (Client * c) { TRACE ("entering frameBottom"); @@ -82,7 +82,7 @@ return 0; } -inline int +int frameX (Client * c) { TRACE ("entering frameX"); @@ -95,7 +95,7 @@ return c->x; } -inline int +int frameY (Client * c) { TRACE ("entering frameY"); @@ -108,7 +108,7 @@ return c->y; } -inline int +int frameWidth (Client * c) { TRACE ("entering frameWidth"); @@ -121,7 +121,7 @@ return c->width; } -inline int +int frameHeight (Client * c) { TRACE ("entering frameHeight"); --- xfwm4-4.0.4/src/client.h.orig 2004-03-18 01:26:48.885238000 -0500 +++ xfwm4-4.0.4/src/client.h 2004-03-18 01:28:50.406653000 -0500 @@ -232,17 +232,17 @@ extern Client *clients; extern unsigned int client_count; -inline Client *clientGetTransient (Client *); -inline gboolean clientIsTransient (Client *); -inline gboolean clientIsModal (Client *); -inline gboolean clientIsTransientOrModal (Client *); -inline gboolean clientSameGroup (Client *, Client *); -inline gboolean clientIsTransientFor (Client *, Client *); -inline gboolean clientIsModalFor (Client *, Client *); -inline gboolean clientIsTransientOrModalFor (Client *, Client *); -inline gboolean clientIsTransientForGroup (Client *); -inline gboolean clientIsModalForGroup (Client *); -inline gboolean clientIsTransientOrModalForGroup (Client *); +Client *clientGetTransient (Client *); +gboolean clientIsTransient (Client *); +gboolean clientIsModal (Client *); +gboolean clientIsTransientOrModal (Client *); +gboolean clientSameGroup (Client *, Client *); +gboolean clientIsTransientFor (Client *, Client *); +gboolean clientIsModalFor (Client *, Client *); +gboolean clientIsTransientOrModalFor (Client *, Client *); +gboolean clientIsTransientForGroup (Client *); +gboolean clientIsModalForGroup (Client *); +gboolean clientIsTransientOrModalForGroup (Client *); void clientSetNetState (Client *); void clientUpdateWinState (Client *, XClientMessageEvent *); void clientUpdateNetState (Client *, XClientMessageEvent *); @@ -288,9 +288,9 @@ void clientStick (Client *, gboolean); void clientUnstick (Client *, gboolean); void clientToggleSticky (Client *, gboolean); -inline void clientRemoveMaximizeFlag (Client *); +void clientRemoveMaximizeFlag (Client *); void clientToggleMaximized (Client *, int); -inline gboolean clientAcceptFocus (Client * c); +gboolean clientAcceptFocus (Client * c); void clientUpdateFocus (Client *, unsigned short); void clientSetFocus (Client *, unsigned short); Client *clientGetFocus (); --- xfwm4-4.0.4/src/client.c.orig 2003-11-10 12:06:36.000000000 -0500 +++ xfwm4-4.0.4/src/client.c 2003-12-17 20:04:15.002993000 -0500 @@ -193,7 +193,7 @@ return NULL; } -inline gboolean +gboolean clientIsTransient (Client * c) { g_return_val_if_fail (c != NULL, FALSE); @@ -4438,7 +4438,7 @@ clientSetLayer (c, layer); } -inline void +void clientRemoveMaximizeFlag (Client * c) { g_return_if_fail (c != NULL); @@ -4555,7 +4555,7 @@ } } -inline gboolean +gboolean clientAcceptFocus (Client * c) { g_return_val_if_fail (c != NULL, FALSE);