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