X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmoveresize.c;h=c0962fff30f5a6d21c050d857347cf44b2a1cdf5;hb=b2a0df8e89b3f4bbedd8c648778042e079a1cb13;hp=95e595872476af8dea1e0ae208d2257aae7356cc;hpb=fbbbd4f9ab209068ee5b4007ddf50bee6ac5aa24;p=chaz%2Fopenbox diff --git a/openbox/moveresize.c b/openbox/moveresize.c index 95e59587..c0962fff 100644 --- a/openbox/moveresize.c +++ b/openbox/moveresize.c @@ -28,22 +28,24 @@ static ObCorner lockcorner; static Popup *popup = NULL; -static void client_dest(ObClient *c) +static void client_dest(gpointer client) { - if (moveresize_client == c) + if (moveresize_client == client) moveresize_end(TRUE); } -void moveresize_startup() +void moveresize_startup(gboolean reconfig) { popup = popup_new(FALSE); - client_add_destructor(client_dest); + if (!reconfig) + client_add_destructor(client_dest); } -void moveresize_shutdown() +void moveresize_shutdown(gboolean reconfig) { - client_remove_destructor(client_dest); + if (!reconfig) + client_remove_destructor(client_dest); popup_free(popup); popup = NULL; @@ -69,6 +71,9 @@ void moveresize_start(ObClient *c, int x, int y, guint b, guint32 cnr) g_assert(!moveresize_in_progress); + if (!c->frame->visible) + return; + moveresize_client = c; start_cx = c->frame->area.x; start_cy = c->frame->area.y; @@ -137,7 +142,7 @@ void moveresize_start(ObClient *c, int x, int y, guint b, guint32 cnr) void moveresize_end(gboolean cancel) { grab_keyboard(FALSE); - grab_pointer(FALSE, None); + grab_pointer(FALSE, OB_CURSOR_NONE); popup_hide(popup);