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_DISABLE_STATIC
 | 
				
			||||||
AC_PROG_LIBTOOL
 | 
					AC_PROG_LIBTOOL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GNOME_COMPILE_WARNINGS(maximum)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
 | 
					AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AM_PATH_PYTHON
 | 
					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
 | 
					pkgpyexec_LTLIBRARIES = _sugarext.la
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_sugarext_la_CFLAGS = 		\
 | 
					_sugarext_la_CFLAGS = 		\
 | 
				
			||||||
 | 
					        $(WARN_CFLAGS)		\
 | 
				
			||||||
	$(EXT_CFLAGS)		\
 | 
						$(EXT_CFLAGS)		\
 | 
				
			||||||
	$(PYTHON_INCLUDES)
 | 
						$(PYTHON_INCLUDES)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -10,8 +10,8 @@ headers
 | 
				
			|||||||
#include "sugar-preview.h"
 | 
					#include "sugar-preview.h"
 | 
				
			||||||
#include "sexy-icon-entry.h"
 | 
					#include "sexy-icon-entry.h"
 | 
				
			||||||
#include "gsm-session.h"
 | 
					#include "gsm-session.h"
 | 
				
			||||||
 | 
					#include "gsm-xsmp.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define EGG_SM_CLIENT_BACKEND_XSMP
 | 
					 | 
				
			||||||
#include "eggsmclient.h"
 | 
					#include "eggsmclient.h"
 | 
				
			||||||
#include "eggsmclient-private.h"
 | 
					#include "eggsmclient-private.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -25,6 +25,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
G_BEGIN_DECLS
 | 
					G_BEGIN_DECLS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define EGG_SM_CLIENT_BACKEND_XSMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GKeyFile *egg_sm_client_save_state     (EggSMClient *client);
 | 
					GKeyFile *egg_sm_client_save_state     (EggSMClient *client);
 | 
				
			||||||
void      egg_sm_client_quit_requested (EggSMClient *client);
 | 
					void      egg_sm_client_quit_requested (EggSMClient *client);
 | 
				
			||||||
void      egg_sm_client_quit_cancelled (EggSMClient *client);
 | 
					void      egg_sm_client_quit_cancelled (EggSMClient *client);
 | 
				
			||||||
 | 
				
			|||||||
@ -150,53 +150,6 @@ end_phase (GsmSession *session)
 | 
				
			|||||||
    start_phase (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
 | 
					static void
 | 
				
			||||||
app_registered (GsmApp *app, gpointer data)
 | 
					app_registered (GsmApp *app, gpointer data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -241,10 +194,6 @@ phase_timeout (gpointer data)
 | 
				
			|||||||
static void
 | 
					static void
 | 
				
			||||||
start_phase (GsmSession *session)
 | 
					start_phase (GsmSession *session)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  GsmApp *app;
 | 
					 | 
				
			||||||
  GSList *a;
 | 
					 | 
				
			||||||
  GError *err = NULL;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  g_debug ("starting phase %d\n", session->phase);
 | 
					  g_debug ("starting phase %d\n", session->phase);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  g_slist_free (session->pending_apps);
 | 
					  g_slist_free (session->pending_apps);
 | 
				
			||||||
@ -359,8 +308,6 @@ client_saved_state (GsmClient *client, gpointer data)
 | 
				
			|||||||
void
 | 
					void
 | 
				
			||||||
gsm_session_initiate_shutdown (GsmSession *session)
 | 
					gsm_session_initiate_shutdown (GsmSession *session)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  gboolean logout_prompt;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (session->phase == GSM_SESSION_PHASE_SHUTDOWN)
 | 
					  if (session->phase == GSM_SESSION_PHASE_SHUTDOWN)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      /* Already shutting down, nothing more to do */
 | 
					      /* Already shutting down, nothing more to do */
 | 
				
			||||||
 | 
				
			|||||||
@ -50,6 +50,7 @@ void     sugar_menu_set_active (SugarMenu    *menu,
 | 
				
			|||||||
                                gboolean      active);
 | 
					                                gboolean      active);
 | 
				
			||||||
void     sugar_menu_embed      (SugarMenu    *menu,
 | 
					void     sugar_menu_embed      (SugarMenu    *menu,
 | 
				
			||||||
                                GtkContainer *parent);
 | 
					                                GtkContainer *parent);
 | 
				
			||||||
 | 
					void     sugar_menu_unembed    (SugarMenu    *menu);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
G_END_DECLS
 | 
					G_END_DECLS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,6 +19,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <gdk/gdkx.h>
 | 
					#include <gdk/gdkx.h>
 | 
				
			||||||
#include <gtk/gtkwindow.h>
 | 
					#include <gtk/gtkwindow.h>
 | 
				
			||||||
 | 
					#include <X11/extensions/XShm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "sugar-preview.h"
 | 
					#include "sugar-preview.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -37,8 +38,6 @@ sugar_preview_set_size(SugarPreview *preview, int width, int height)
 | 
				
			|||||||
GdkPixbuf *
 | 
					GdkPixbuf *
 | 
				
			||||||
sugar_preview_get_pixbuf(SugarPreview *preview)
 | 
					sugar_preview_get_pixbuf(SugarPreview *preview)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    GdkPixbuf *pixbuf;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (preview->pixbuf != NULL) {
 | 
					    if (preview->pixbuf != NULL) {
 | 
				
			||||||
        return preview->pixbuf;
 | 
					        return preview->pixbuf;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -92,7 +91,7 @@ sugar_preview_take_screenshot(SugarPreview *preview, GdkDrawable *drawable)
 | 
				
			|||||||
    XShmGetImage(GDK_SCREEN_XDISPLAY(screen),
 | 
					    XShmGetImage(GDK_SCREEN_XDISPLAY(screen),
 | 
				
			||||||
                 GDK_DRAWABLE_XID(drawable),
 | 
					                 GDK_DRAWABLE_XID(drawable),
 | 
				
			||||||
                 gdk_x11_image_get_ximage(preview->image),
 | 
					                 gdk_x11_image_get_ximage(preview->image),
 | 
				
			||||||
                 0, 0, AllPlanes, ZPixmap);
 | 
					                 0, 0, AllPlanes);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user