Subject: FVWM: X-GrabButton error

From: Paul Pick <[email-masked]>
Date: Thu, 15 Feb 1996 11:13:22 -0400 (AST)

G'Day all,

 I'm new to X/Motif - that said, here we go... :)

 I have a program which was implemented under hp-vue and which will
not run under fvwm.  The error I get is:

 X Error : Bad Access (attempt to access private resource denied)
 Major Opcode of failed request : 28 (X_GrabButton)

 This error occurs just after the window for the program is drawn on
the screen (in random placement mode) or just after the position is
chosen by the user (in not random placement). I've read the fvwm
source code and found a likely suspect in the add_window.c file.

 The situation is this: I can't re-compile fvwm or change versions
(it's a long story) so I'm stuck with re-compiling the
afore-mentioned program... What I'm looking for is... what do I
change? Is there anything I should be looking for in my local-app's
code? (I didn't write this... I inherited it, BTW)

 Right, some info:

 OS = HP-UX 9.x
 X11R5
 HP700 series hardware
 FVWM VERSION = 1.241

 And here is the entire makefile for the fvwm compile...

# Makefile generated by imake - do not edit!
# $XConsortium: imake.c,v 1.65 91/07/25 17:50:17 rws Exp $
#
# The cpp used on this machine replaces all newlines and multiple tabs and
# spaces in a macro expansion with a single space.  Imake tries to compensate
# for this, but is not always successful.
#

# 7

# -------------------------------------------------------------------------
# Makefile generated from "Imake.tmpl" and <Imakefile>
# $XConsortium: Imake.tmpl,v 1.157 92/06/28 17:40:08 rws Exp $
#
# Platform-specific parameters may be set in the appropriate <vendor>.cf
# configuration files.  Site-specific parameters should be set in the file
# site.def.  Full rebuilds are recommended if any parameters are changed.
#
# If your C preprocessor does not define any unique symbols, you will need
# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
# "make World" the first time).
#

# 284

# -------------------------------------------------------------------------
# site-specific configuration parameters that need to come before
# the platform-specific parameters - edit site.def to change

# site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $

# 71

# 295

# -------------------------------------------------------------------------
# platform-specific configuration parameters - edit hp.cf to change

# platform:  $XConsortium: hp.cf,v 1.48 91/12/18 09:43:08 rws Exp $

# operating system:  OSName

# 27

# Where HP's X11R5 header files are - note that they DON'T include Xaw or
# Xaw header files :-( :-(

# Where HP's X11R5 library files are

# Where HP's RGB database lives

# 133

# 151

# 336

# -------------------------------------------------------------------------
# site-specific configuration parameters that go after
# the platform-specific parameters - edit site.def to change

# site:  $XConsortium: site.def,v 1.2 91/07/30 20:26:44 rws Exp $

# 71

# 753

            SHELL = /bin/sh

              TOP = .
      CURRENT_DIR = .

               AR = ar clq
  BOOTSTRAPCFLAGS =
               CC = cc
               AS = as

         COMPRESS = compress
              CPP = /lib/cpp $(STD_CPP_DEFINES)
    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
          INSTALL = $(BINDIR)/bsdinst
               LD = ld
              LEX = lex
             YACC = yacc
             LINT = lint
      LINTLIBFLAG = -o
         LINTOPTS = -ax
               LN = ln -s
             MAKE = make
               MV = mv -f
               CP = cp

               RM = rm -f
            TROFF = psroff
         MSMACROS = -ms
              TBL = tbl
              EQN = eqn
     STD_INCLUDES = -I/usr/include/X11R5
  STD_CPP_DEFINES = -DSYSV -Dhpux
      STD_DEFINES = -DSYSV -Dhpux
 EXTRA_LOAD_FLAGS =
  EXTRA_LDOPTIONS =
  EXTRA_LIBRARIES =
             TAGS = ctags

           MFLAGS = -$(MAKEFLAGS)

    SHAREDCODEDEF =
         SHLIBDEF =

# 844

    PROTO_DEFINES =

     INSTPGMFLAGS = -s

     INSTBINFLAGS = -m 0755
     INSTUIDFLAGS = -m 4755
     INSTLIBFLAGS = -m 0644
     INSTINCFLAGS = -m 0644
     INSTMANFLAGS = -m 0644
     INSTDATFLAGS = -m 0644
    INSTKMEMFLAGS = -m 4755

      PROJECTROOT = /usr/lib/X11R5

     TOP_INCLUDES = -I$(INCROOT)

      CDEBUGFLAGS = -Aa -D_HPUX_SOURCE +O3 -s
        CCOPTIONS =

# 880

      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)

           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)

        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)

   LDCOMBINEFLAGS = -r
      DEPENDFLAGS =

        MACROFILE = hp.cf
           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut

    IMAKE_DEFINES =

         IRULESRC = $(CONFIGDIR)
        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)

     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules  			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def  			$(IRULESRC)/$(MACROFILE)   			$(EXTRA_ICONFIGFILES)

# 918

# -------------------------------------------------------------------------
# X Window System Build Parameters
# $XConsortium: Project.tmpl,v 1.138.1.1 92/11/11 09:49:19 rws Exp $

# 460

# -------------------------------------------------------------------------
# X Window System make variables; this need to be coordinated with rules

          PATHSEP = /
        USRLIBDIR = /usr/lib/X11R5
           BINDIR = /usr/bin/X11
          INCROOT = /usr/include/X11R5
     BUILDINCROOT = $(TOP)
      BUILDINCDIR = $(BUILDINCROOT)/X11
      BUILDINCTOP = ..
           INCDIR = $(INCROOT)/X11
           ADMDIR = /usr/adm
           LIBDIR = /usr/local/X11
        CONFIGDIR = /usr/lib/X11/config
       LINTLIBDIR = $(USRLIBDIR)/lint

          FONTDIR = $(LIBDIR)/fonts
         XINITDIR = $(LIBDIR)/xinit
           XDMDIR = $(LIBDIR)/xdm
           TWMDIR = $(LIBDIR)/twm
          MANPATH = /usr/contrib/man
    MANSOURCEPATH = $(MANPATH)/man
        MANSUFFIX = 1
     LIBMANSUFFIX = 3
           MANDIR = $(MANSOURCEPATH)$(MANSUFFIX)
        LIBMANDIR = $(MANSOURCEPATH)$(LIBMANSUFFIX)
           NLSDIR = $(LIBDIR)/nls
        PEXAPIDIR = $(LIBDIR)/PEX
      XAPPLOADDIR = $(LIBDIR)/app-defaults
       FONTCFLAGS = -t

     INSTAPPFLAGS = $(INSTDATFLAGS)

            IMAKE = imake
           DEPEND = makedepend
              RGB = rgb

            FONTC = bdftopcf

        MKFONTDIR = mkfontdir
        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier

# 523

        CONFIGSRC = /usr/lib/X11R5/config

       DOCUTILSRC = $(TOP)/doc/util
        CLIENTSRC = $(TOP)/clients
          DEMOSRC = $(TOP)/demos
           LIBSRC = $(TOP)/lib
          FONTSRC = $(TOP)/fonts
       INCLUDESRC = $(TOP)/X11
        SERVERSRC = $(TOP)/server

          UTILSRC = $(CONFIGSRC)

        SCRIPTSRC = $(UTILSRC)/scripts
       EXAMPLESRC = $(TOP)/examples
       CONTRIBSRC = $(TOP)/../contrib
           DOCSRC = $(TOP)/doc
           RGBSRC = $(TOP)/rgb
        DEPENDSRC = $(UTILSRC)/makedepend
         IMAKESRC = $(CONFIGSRC)
         XAUTHSRC = $(LIBSRC)/Xau
          XLIBSRC = $(LIBSRC)/X
           XMUSRC = $(LIBSRC)/Xmu
       TOOLKITSRC = $(LIBSRC)/Xt
       AWIDGETSRC = $(LIBSRC)/Xaw
       OLDXLIBSRC = $(LIBSRC)/oldX
      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
      BDFTOSNFSRC = $(FONTSRC)/clients/bdftosnf
      BDFTOPCFSRC = $(FONTSRC)/clients/bdftopcf
     MKFONTDIRSRC = $(FONTSRC)/clients/mkfontdir
         FSLIBSRC = $(FONTSRC)/lib/fs
    FONTSERVERSRC = $(FONTSRC)/server
     EXTENSIONSRC = $(TOP)/extensions
         XILIBSRC = $(EXTENSIONSRC)/lib/xinput
        PEXLIBSRC = $(EXTENSIONSRC)/lib/PEXlib
      PHIGSLIBSRC = $(EXTENSIONSRC)/lib/PEX

# 601

# 22

SHLIBLDFLAGS = -b
PICFLAGS = +z
INSTSHLIBFLAGS = -m 0755

# 31

SYSX11SRC = $(PROJECTROOT)/lib/$(X11LINKENV)

# 55

HP_NULL_STR =

     EXTENSIONLIB = -lXext
     DEPEXTENSIONLIB = $(HP_NULL_STR)

     XLIB = $(EXTENSIONLIB) -lX11
     DEPXLIB = $(DEPEXTENSIONLIB) $(HP_NULL_STR)

     XMULIB = -lXmu
     DEPXMULIB = $(HP_NULL_STR)

     OLDXLIB = -loldX
     DEPOLDXLIB = $(HP_NULL_STR)

     XTOOLLIB = -lXt
     DEPXTOOLLIB = $(HP_NULL_STR)

     XAWLIB = -lXaw
     DEPXAWLIB = $(HP_NULL_STR)

     XILIB = -lXi
     DEPXILIB = $(HP_NULL_STR)

# 95

        SOXLIBREV = 5.0
          SOXTREV = 5.0
         SOXAWREV = 5.0
        SOOLDXREV = 5.0
         SOXMUREV = 5.0
        SOXEXTREV = 5.0
      SOXINPUTREV = 5.0
         SOPEXREV = SharedPexRev

# 621

      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
         XAUTHLIB =  -lXau
      DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
         XDMCPLIB =  -lXdmcp

# 650

        DEPPHIGSLIB = $(USRLIBDIR)/libphigs.a
           PHIGSLIB =  -lphigs

       DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a
          XBSDLIB =  -lXbsd

 LINTEXTENSIONLIB = $(LINTLIBDIR)/llib-lXext.ln
         LINTXLIB = $(LINTLIBDIR)/llib-lX11.ln
          LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln
        LINTXTOOL = $(LINTLIBDIR)/llib-lXt.ln
          LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln
           LINTXI = $(LINTLIBDIR)/llib-lXi.ln
          LINTPEX = $(LINTLIBDIR)/llib-lPEX5.ln
        LINTPHIGS = $(LINTLIBDIR)/llib-lphigs.ln

# 681

          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)

         DEPLIBS1 = $(DEPLIBS)
         DEPLIBS2 = $(DEPLIBS)
         DEPLIBS3 = $(DEPLIBS)

# -------------------------------------------------------------------------
# Imake rules for building libraries, programs, scripts, and data files
# rules:  $XConsortium: Imake.rules,v 1.129 92/05/29 17:01:19 rws Exp $

# 1542

# -------------------------------------------------------------------------
# start of Imakefile

# 7

# 212

CDEBUGFLAGS = +O3 -Aa -D_HPUX_SOURCE -DMENU_HOTKEYS -DWINDOWLIST_HOTKEYS

ALLSUBDIRS = libs    	  fvwm            modules/GoodStuff            modules/FvwmIdent            modules/FvwmDebug            modules/FvwmBacker  	  modules/FvwmClean            modules/FvwmPager  	  modules/FvwmAudio            modules/FvwmScroll            modules/FvwmIconBox            modules/FvwmSave            modules/FvwmSaveDesk            modules/FvwmWinList

# 29

XPMSUBDIRS = xpmroot modules/FvwmBanner

SUBDIRS = $(ALLSUBDIRS) $(XPMSUBDIRS) $(SHAPESUBDIRS)

all::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "making" all "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' all); \
	done

# -------------------------------------------------------------------------
# common rules for all Makefiles - do not edit

emptyrule::

clean::
	$(RM_CMD) "#"*

Makefile::
	-@if [ -f Makefile ]; then set -x; \
	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
	else exit 0; fi
	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)

tags::
	$(TAGS) -w *.[ch]
	$(TAGS) -xw *.[ch] > TAGS

# 949

# -------------------------------------------------------------------------
# rules for building in SUBDIRS - do not edit

install::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
	done

install.man::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "installing man pages" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install.man); \
	done

clean::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) RM_CMD='$(RM_CMD)' clean); \
	done

tags::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo "tagging" "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS) TAGS='$(TAGS)' tags); \
	done

Makefiles::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	case '${MFLAGS}' in *n*) executeit="no";; esac; \
	for i in $(SUBDIRS) ;\
	do \
	echo "making Makefiles in $(CURRENT_DIR)/$$i..."; \
	case "$$i" in \
	./?*/?*/?*/?*) newtop=../../../../;; \
	./?*/?*/?*) newtop=../../../;; \
	./?*/?*) newtop=../../;; \
	./?*) newtop=../;; \
	*/?*/?*/?*) newtop=../../../../;; \
	*/?*/?*) newtop=../../../;; \
	*/?*) newtop=../../;; \
	*) newtop=../;; \
	esac; \
	case "$(TOP)" in \
	/?*) imaketop= ;; \
	*) imaketop=$$newtop ;; \
	esac; \
	cd $$i; \
	$(RM) Makefile.bak; \
	if [ -f Makefile ]; then \
	echo "	$(MV) Makefile Makefile.bak"; \
	if [ "$$executeit" != "no" ]; then \
	$(MV) Makefile Makefile.bak; \
	fi; \
	fi; \
	if [ "$$executeit" != "no" ]; then \
	$(IMAKE_CMD) -DTOPDIR=$$imaketop$(TOP) -DCURDIR=$(CURRENT_DIR)/$$i; \
	fi; \
	$(MAKE) $(MFLAGS) Makefiles; \
	cd $$newtop; \
	done

includes::
	@case '${MFLAGS}' in *[ik]*) set +e;; esac; \
	for i in $(SUBDIRS) ;\
	do \
	(cd $$i ; echo including "in $(CURRENT_DIR)/$$i..."; \
	$(MAKE) $(MFLAGS)  includes); \
	done

# 975

# -------------------------------------------------------------------------
# dependencies generated by makedepend

 Any help would be greatly appreciated...

 Thanks,
 - Paul

-- 
_____________Paul A [email-masked]
"Einstein argued that there must be simplified explanations of nature,
because God is not capricious or arbitrary.  No such faith comforts
the software engineer." -- Fred Brooks (sig pinched from Jay_Lorch)
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Michael Tiefenback <[email-masked]>
Date: Thu, 15 Feb 1996 11:36:20 -0500 (EST)

The X-GrabButton error has been found in the past to come from
applications which attempt to use keys bound to features in fvwm.  I have
a Motif application which confused me in just this way until I realized
that the buttons bound to specific features in the program were also ones
which were bound to RaiseLower or similar features I had inherited from
the default .fvwmrc configuration I used as the basis for my
configuration.  Altering the window manager bindings to sidestep this made
the applications usable under fvwm. 

Michael Tiefenback