define DEBUG, NDEBUG, and G_DISABLE_ASSERTS

This commit is contained in:
Dana Jansens 2003-10-01 17:28:12 +00:00
parent 825426373c
commit 6f5292c87e
3 changed files with 23 additions and 7 deletions

View file

@ -61,12 +61,18 @@ AC_DEFUN([OB_COMPILER_FLAGS],
FLAGS=""
if test "$DEBUG" = "yes"; then
FLAGS="-DDEBUG"
else
FLAGS="-DNDEBUG -DG_DISABLE_ASSERT"
fi
# Check what compiler we are using
AC_MSG_CHECKING([for GNU CC])
if test "$GCC" = "yes"; then
AC_MSG_RESULT([yes])
if test "$DEBUG" = "yes"; then
FLAGS="-g -fno-inline"
FLAGS="$FLAGS -g -fno-inline"
FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return"
FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith"
# for Python.h

View file

@ -798,6 +798,13 @@ ActionString actionstrings[] =
}
};
/* only key bindings can be interactive. thus saith the xor.
because of how the mouse is grabbed, mouse events dont even get
read during interactive events, so no dice! >:) */
#define INTERACTIVE_LIMIT(a, uact) \
if (uact != OB_USER_ACTION_KEYBOARD_KEY) \
a->data.any.interactive = FALSE;
ObAction *action_from_string(const gchar *name, ObUserAction uact)
{
ObAction *a = NULL;
@ -810,11 +817,7 @@ ObAction *action_from_string(const gchar *name, ObUserAction uact)
a = action_new(actionstrings[i].func);
if (actionstrings[i].setup)
actionstrings[i].setup(&a, uact);
/* only key bindings can be interactive. thus saith the xor.
because of how the mouse is grabbed, mouse events dont even get
read during interactive events, so no dice! >:) */
if (uact != OB_USER_ACTION_KEYBOARD_KEY)
a->data.any.interactive = FALSE;
INTERACTIVE_LIMIT(a, uact);
break;
}
if (!exist)
@ -889,6 +892,7 @@ ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
act->data.cycle.dialog = parse_bool(doc, n);
}
}
INTERACTIVE_LIMIT(act, uact);
g_free(actname);
}
return act;

View file

@ -290,7 +290,13 @@ void menu_show(gchar *name, gint x, gint y, ObClient *client)
menu_frame_hide_all();
frame = menu_frame_new(self, client);
menu_frame_move(frame, x - ob_rr_theme->bwidth, y - ob_rr_theme->bwidth);
if (client && x < 0 && y < 0)
menu_frame_move(frame,
client->frame->area.x + client->frame->size.left,
client->frame->area.y + client->frame->size.top);
else
menu_frame_move(frame,
x - ob_rr_theme->bwidth, y - ob_rr_theme->bwidth);
menu_frame_show(frame, NULL);
if (frame->entries)
menu_frame_select_next(frame);