void screen_show_desktop_popup(guint d, gboolean perm)
{
- Rect *a;
+ Rect const *a;
/* 0 means don't show the popup */
if (!config_desktop_popup_time) return;
g_direct_equal, NULL);
if (perm)
desktop_popup_perm = TRUE;
-
- g_free(a);
}
void screen_hide_desktop_popup(void)
} ObScreenStrut;
#define RESET_STRUT_LIST(sl) \
- (g_slist_free(sl), sl = NULL)
+ while (sl) { \
+ g_slice_free(ObScreenStrut, (sl)->data); \
+ sl = g_slist_delete_link(sl, sl); \
+ }
#define ADD_STRUT_TO_LIST(sl, d, s) \
{ \
- ObScreenStrut *ss = g_new(ObScreenStrut, 1); \
+ ObScreenStrut *ss = g_slice_new(ObScreenStrut); \
ss->desktop = d; \
ss->strut = s; \
sl = g_slist_prepend(sl, ss); \
dims[i*4+1] = area->y;
dims[i*4+2] = area->width;
dims[i*4+3] = area->height;
- g_free(area);
+ g_slice_free(Rect, area);
}
/* set the legacy workarea hint to the union of all the monitors */
}
}
- a = g_new(Rect, 1);
+ a = g_slice_new(Rect);
a->x = l;
a->y = t;
a->width = r - l + 1;
guint mostv = 0;
for (i = 0; i < screen_num_monitors; ++i) {
- Rect *area = screen_physical_area_monitor(i);
+ Rect const *area = screen_physical_area_monitor(i);
if (RECT_INTERSECTS_RECT(*area, *search)) {
Rect r;
guint v;
most = i;
}
}
- g_free(area);
}
return most;
}
-Rect* screen_physical_area_all_monitors(void)
+Rect const* screen_physical_area_all_monitors(void)
{
return screen_physical_area_monitor(screen_num_monitors);
}
-Rect* screen_physical_area_monitor(guint head)
+Rect const* screen_physical_area_monitor(guint head)
{
- Rect *a;
g_assert(head <= screen_num_monitors);
- a = g_new(Rect, 1);
- *a = monitor_area[head];
- return a;
+ return &monitor_area[head];
}
gboolean screen_physical_area_monitor_contains(guint head, Rect *search)
return screen_monitor_pointer();
}
-Rect* screen_physical_area_active(void)
+Rect const* screen_physical_area_active(void)
{
return screen_physical_area_monitor(screen_monitor_active());
}
return screen_monitor_pointer();
}
-Rect *screen_physical_area_primary(gboolean fixed)
+Rect const *screen_physical_area_primary(gboolean fixed)
{
return screen_physical_area_monitor(screen_monitor_primary(fixed));
}