Enable maximum warnings.
A bunch of compile fixes.
This commit is contained in:
parent
b4aeb6038d
commit
9a827ead86
@ -10,6 +10,8 @@ AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip])
|
||||
AC_DISABLE_STATIC
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
GNOME_COMPILE_WARNINGS(maximum)
|
||||
|
||||
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
|
||||
|
||||
AM_PATH_PYTHON
|
||||
|
141
m4/gnome-compiler-flags.m4
Normal file
141
m4/gnome-compiler-flags.m4
Normal file
@ -0,0 +1,141 @@
|
||||
dnl GNOME_COMPILE_WARNINGS
|
||||
dnl Turn on many useful compiler warnings
|
||||
dnl For now, only works on GCC
|
||||
AC_DEFUN([GNOME_COMPILE_WARNINGS],[
|
||||
dnl ******************************
|
||||
dnl More compiler warnings
|
||||
dnl ******************************
|
||||
|
||||
AC_ARG_ENABLE(compile-warnings,
|
||||
AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
|
||||
[Turn on compiler warnings]),,
|
||||
[enable_compile_warnings="m4_default([$1],[yes])"])
|
||||
|
||||
warnCFLAGS=
|
||||
if test "x$GCC" != xyes; then
|
||||
enable_compile_warnings=no
|
||||
fi
|
||||
|
||||
warning_flags=
|
||||
realsave_CFLAGS="$CFLAGS"
|
||||
|
||||
case "$enable_compile_warnings" in
|
||||
no)
|
||||
warning_flags=
|
||||
;;
|
||||
minimum)
|
||||
warning_flags="-Wall"
|
||||
;;
|
||||
yes)
|
||||
warning_flags="-Wall -Wmissing-prototypes"
|
||||
;;
|
||||
maximum|error)
|
||||
warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
|
||||
CFLAGS="$warning_flags $CFLAGS"
|
||||
for option in -Wno-sign-compare; do
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $option"
|
||||
AC_MSG_CHECKING([whether gcc understands $option])
|
||||
AC_TRY_COMPILE([], [],
|
||||
has_option=yes,
|
||||
has_option=no,)
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
AC_MSG_RESULT($has_option)
|
||||
if test $has_option = yes; then
|
||||
warning_flags="$warning_flags $option"
|
||||
fi
|
||||
unset has_option
|
||||
unset SAVE_CFLAGS
|
||||
done
|
||||
unset option
|
||||
if test "$enable_compile_warnings" = "error" ; then
|
||||
warning_flags="$warning_flags -Werror"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
|
||||
;;
|
||||
esac
|
||||
CFLAGS="$realsave_CFLAGS"
|
||||
AC_MSG_CHECKING(what warning flags to pass to the C compiler)
|
||||
AC_MSG_RESULT($warning_flags)
|
||||
|
||||
AC_ARG_ENABLE(iso-c,
|
||||
AC_HELP_STRING([--enable-iso-c],
|
||||
[Try to warn if code is not ISO C ]),,
|
||||
[enable_iso_c=no])
|
||||
|
||||
AC_MSG_CHECKING(what language compliance flags to pass to the C compiler)
|
||||
complCFLAGS=
|
||||
if test "x$enable_iso_c" != "xno"; then
|
||||
if test "x$GCC" = "xyes"; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-ansi[\ \ ]*) ;;
|
||||
*) complCFLAGS="$complCFLAGS -ansi" ;;
|
||||
esac
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-pedantic[\ \ ]*) ;;
|
||||
*) complCFLAGS="$complCFLAGS -pedantic" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($complCFLAGS)
|
||||
|
||||
WARN_CFLAGS="$warning_flags $complCFLAGS"
|
||||
AC_SUBST(WARN_CFLAGS)
|
||||
])
|
||||
|
||||
dnl For C++, do basically the same thing.
|
||||
|
||||
AC_DEFUN([GNOME_CXX_WARNINGS],[
|
||||
AC_ARG_ENABLE(cxx-warnings,
|
||||
AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@]
|
||||
[Turn on compiler warnings.]),,
|
||||
[enable_cxx_warnings="m4_default([$1],[minimum])"])
|
||||
|
||||
AC_MSG_CHECKING(what warning flags to pass to the C++ compiler)
|
||||
warnCXXFLAGS=
|
||||
if test "x$GXX" != xyes; then
|
||||
enable_cxx_warnings=no
|
||||
fi
|
||||
if test "x$enable_cxx_warnings" != "xno"; then
|
||||
if test "x$GXX" = "xyes"; then
|
||||
case " $CXXFLAGS " in
|
||||
*[\ \ ]-Wall[\ \ ]*) ;;
|
||||
*) warnCXXFLAGS="-Wall -Wno-unused" ;;
|
||||
esac
|
||||
|
||||
## -W is not all that useful. And it cannot be controlled
|
||||
## with individual -Wno-xxx flags, unlike -Wall
|
||||
if test "x$enable_cxx_warnings" = "xyes"; then
|
||||
warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($warnCXXFLAGS)
|
||||
|
||||
AC_ARG_ENABLE(iso-cxx,
|
||||
AC_HELP_STRING([--enable-iso-cxx],
|
||||
[Try to warn if code is not ISO C++ ]),,
|
||||
[enable_iso_cxx=no])
|
||||
|
||||
AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler)
|
||||
complCXXFLAGS=
|
||||
if test "x$enable_iso_cxx" != "xno"; then
|
||||
if test "x$GXX" = "xyes"; then
|
||||
case " $CXXFLAGS " in
|
||||
*[\ \ ]-ansi[\ \ ]*) ;;
|
||||
*) complCXXFLAGS="$complCXXFLAGS -ansi" ;;
|
||||
esac
|
||||
|
||||
case " $CXXFLAGS " in
|
||||
*[\ \ ]-pedantic[\ \ ]*) ;;
|
||||
*) complCXXFLAGS="$complCXXFLAGS -pedantic" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($complCXXFLAGS)
|
||||
|
||||
WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS"
|
||||
AC_SUBST(WARN_CXXFLAGS)
|
||||
])
|
@ -14,6 +14,7 @@ pkgpyexecdir = $(pythondir)/sugar
|
||||
pkgpyexec_LTLIBRARIES = _sugarext.la
|
||||
|
||||
_sugarext_la_CFLAGS = \
|
||||
$(WARN_CFLAGS) \
|
||||
$(EXT_CFLAGS) \
|
||||
$(PYTHON_INCLUDES)
|
||||
|
||||
|
@ -10,8 +10,8 @@ headers
|
||||
#include "sugar-preview.h"
|
||||
#include "sexy-icon-entry.h"
|
||||
#include "gsm-session.h"
|
||||
#include "gsm-xsmp.h"
|
||||
|
||||
#define EGG_SM_CLIENT_BACKEND_XSMP
|
||||
#include "eggsmclient.h"
|
||||
#include "eggsmclient-private.h"
|
||||
|
||||
|
@ -25,6 +25,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define EGG_SM_CLIENT_BACKEND_XSMP
|
||||
|
||||
GKeyFile *egg_sm_client_save_state (EggSMClient *client);
|
||||
void egg_sm_client_quit_requested (EggSMClient *client);
|
||||
void egg_sm_client_quit_cancelled (EggSMClient *client);
|
||||
|
@ -150,53 +150,6 @@ end_phase (GsmSession *session)
|
||||
start_phase (session);
|
||||
}
|
||||
|
||||
static void
|
||||
app_condition_changed (GsmApp *app, gboolean condition, gpointer data)
|
||||
{
|
||||
GsmSession *session;
|
||||
GsmClient *client = NULL;
|
||||
GSList *cl = NULL;
|
||||
|
||||
g_return_if_fail (data != NULL);
|
||||
|
||||
session = (GsmSession *) data;
|
||||
|
||||
/* Check for an existing session client for this app */
|
||||
for (cl = session->clients; cl; cl = cl->next)
|
||||
{
|
||||
GsmClient *c = GSM_CLIENT (cl->data);
|
||||
|
||||
if (!strcmp (app->client_id, gsm_client_get_client_id (c)))
|
||||
client = c;
|
||||
}
|
||||
|
||||
if (condition)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
if (app->pid <= 0 && client == NULL)
|
||||
gsm_app_launch (app, &error);
|
||||
|
||||
if (error != NULL)
|
||||
{
|
||||
g_warning ("Not able to launch autostart app from its condition: %s",
|
||||
error->message);
|
||||
|
||||
g_error_free (error);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Kill client in case condition if false and make sure it won't
|
||||
* be automatically restarted by adding the client to
|
||||
* condition_clients */
|
||||
session->condition_clients =
|
||||
g_slist_prepend (session->condition_clients, client);
|
||||
gsm_client_die (client);
|
||||
app->pid = -1;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
app_registered (GsmApp *app, gpointer data)
|
||||
{
|
||||
@ -241,10 +194,6 @@ phase_timeout (gpointer data)
|
||||
static void
|
||||
start_phase (GsmSession *session)
|
||||
{
|
||||
GsmApp *app;
|
||||
GSList *a;
|
||||
GError *err = NULL;
|
||||
|
||||
g_debug ("starting phase %d\n", session->phase);
|
||||
|
||||
g_slist_free (session->pending_apps);
|
||||
@ -359,8 +308,6 @@ client_saved_state (GsmClient *client, gpointer data)
|
||||
void
|
||||
gsm_session_initiate_shutdown (GsmSession *session)
|
||||
{
|
||||
gboolean logout_prompt;
|
||||
|
||||
if (session->phase == GSM_SESSION_PHASE_SHUTDOWN)
|
||||
{
|
||||
/* Already shutting down, nothing more to do */
|
||||
|
@ -50,6 +50,7 @@ void sugar_menu_set_active (SugarMenu *menu,
|
||||
gboolean active);
|
||||
void sugar_menu_embed (SugarMenu *menu,
|
||||
GtkContainer *parent);
|
||||
void sugar_menu_unembed (SugarMenu *menu);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <gdk/gdkx.h>
|
||||
#include <gtk/gtkwindow.h>
|
||||
#include <X11/extensions/XShm.h>
|
||||
|
||||
#include "sugar-preview.h"
|
||||
|
||||
@ -37,8 +38,6 @@ sugar_preview_set_size(SugarPreview *preview, int width, int height)
|
||||
GdkPixbuf *
|
||||
sugar_preview_get_pixbuf(SugarPreview *preview)
|
||||
{
|
||||
GdkPixbuf *pixbuf;
|
||||
|
||||
if (preview->pixbuf != NULL) {
|
||||
return preview->pixbuf;
|
||||
}
|
||||
@ -92,7 +91,7 @@ sugar_preview_take_screenshot(SugarPreview *preview, GdkDrawable *drawable)
|
||||
XShmGetImage(GDK_SCREEN_XDISPLAY(screen),
|
||||
GDK_DRAWABLE_XID(drawable),
|
||||
gdk_x11_image_get_ximage(preview->image),
|
||||
0, 0, AllPlanes, ZPixmap);
|
||||
0, 0, AllPlanes);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user