#include "client.h"
#include "menu.h"
#include "screen.h"
+#include "actions.h"
#include "grab.h"
#include "openbox.h"
#include "mainloop.h"
*dx = MAX(*dx, a->x - x);
*dy = MAX(*dy, a->y - y);
}
+
+ g_free(a);
}
static void menu_entry_frame_render(ObMenuEntryFrame *self)
}
}
+ g_free(a);
+
menu_frame_render(self);
}
/* find the monitor the menu is on */
for (i = 0; i < screen_num_monitors; ++i) {
Rect *a = screen_physical_area_monitor(i);
- if (RECT_CONTAINS(*a, x, y)) {
+ gboolean contains = RECT_CONTAINS(*a, x, y);
+ g_free(a);
+ if (contains) {
self->monitor = i;
break;
}
if (func)
func(entry, frame, client, state, data, time);
else
- action_run(acts, client, state, time);
+ actions_run_acts(acts, OB_USER_ACTION_MENU_SELECTION,
+ time, state, -1, -1, OB_FRAME_CONTEXT_NONE,
+ client);
}
}