Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-10-01 Thread Barry Scott
Keith Packard wrote:
> On Tue, 2008-09-30 at 17:28 +0100, Barry Scott wrote:
>
>   
>> For example mozilla (mozembed). The -nocursor patch avoids the need to 
>> modify
>> any app code at all to remove the unwanted cursors.
>> 
>
> Have you tried the XFixes HideCursor request yet? That disables the
> cursor on a specific screen.
>
>   
I wrote a small program that does:

XFixesHideCursor( dpy, DefaultRootWindow( dpy ) );

and that does not do what my -nocursor patch does. I still see the cursor
over an applications window. Are you expecting that I have to hunt
down every windows on the screen and call hide on it?

Also When I call:

XFixesShowCursor( dpy, DefaultRootWindow( dpy ) );

I get:

xfixes example
XFixesQueryExtension => 1
event_base: 113
error_base: 180
XFixesQueryVersion => 1
major_version: 4
minor_version: 0
XFixesShowCursor
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (XFIXES)
  Minor opcode of failed request:  30 ()
  Serial number of failed request:  9
  Current serial number in output stream:  11

Barry

___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-30 Thread Keith Packard
On Tue, 2008-09-30 at 17:28 +0100, Barry Scott wrote:

> For example mozilla (mozembed). The -nocursor patch avoids the need to 
> modify
> any app code at all to remove the unwanted cursors.

Have you tried the XFixes HideCursor request yet? That disables the
cursor on a specific screen.

-- 
[EMAIL PROTECTED]


signature.asc
Description: This is a digitally signed message part
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-30 Thread Daniel Stone
On Tue, Sep 30, 2008 at 05:28:52PM +0100, Barry Scott wrote:
> Daniel Stone wrote:
>> On Mon, Sep 29, 2008 at 11:08:04PM +0200, Olivier Guerrier wrote:
>>   
>>
>> * People running consumer/embedded systems who can't trust their
>>   apps not to try to change the cursors want to silently drop all
>>   cursor rendering.  -> patch required if deemed useful
>>
>>   
> We build digital signage players that play movies, html pages, images  
> and text.
> These players have no mouse or keyboard and the cursor is a visual wart.
>> Can you not just ship a null cursor theme or something if your apps
>> insist on setting a cursor?
>>   
> In our product we embed apps that it is far to painful to modify to turn  
> off the cursor.
> For example mozilla (mozembed). The -nocursor patch avoids the need to  
> modify
> any app code at all to remove the unwanted cursors.
>
> We are willing to work up a patch if you are willing to accept it.

Sure, -reallydontrenderanycursorsever sounds fine to me.  Sorry about
the last patch; just completely fell off my TODO list.

Cheers,
Daniel


signature.asc
Description: Digital signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-30 Thread Barry Scott
Daniel Stone wrote:
> On Mon, Sep 29, 2008 at 11:08:04PM +0200, Olivier Guerrier wrote:
>   
>
> * People running consumer/embedded systems who can't trust their
>   apps not to try to change the cursors want to silently drop all
>   cursor rendering.  -> patch required if deemed useful
>
>   
We build digital signage players that play movies, html pages, images 
and text.
These players have no mouse or keyboard and the cursor is a visual wart.
> Can you not just ship a null cursor theme or something if your apps
> insist on setting a cursor?
>   
In our product we embed apps that it is far to painful to modify to turn 
off the cursor.
For example mozilla (mozembed). The -nocursor patch avoids the need to 
modify
any app code at all to remove the unwanted cursors.

We are willing to work up a patch if you are willing to accept it.

Barry


___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-30 Thread John Tapsell
> Hmm, that seems a little odd.  Seems like there are three camps here:
>* People writing display drivers (let's call them 'the minority')
>  want a stipple and cursor.  -> -retro
>* People starting regular desktop environments want the default
>  behaviour.  (Though I have slight doubts.  I'd fall back on the
>  default cursor being a NULL cursor unless forced otherwise, and
>  IIRC the behaviour here is to suppress cursor realisation, which
>  means you come back to an ugly root cursor, but that's fixable.)
>* People running consumer/embedded systems who can't trust their
>  apps not to try to change the cursors want to silently drop all
>  cursor rendering.  -> patch required if deemed useful

* People who sometimes have to boot X in 'safe mode' (just X and
xterm) because kde/gnome won't start up.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-30 Thread David Greaves
Olivier Guerrier wrote:
> Daniel Stone wrote:
>> Can you not just ship a null cursor theme or something if your apps
>> insist on setting a cursor?
> 
> We considered that, but it is unreliable (how about hard coded cursor
> for exemple), need in-depth testing/validating, and as a consequence eat
> lot of time. On the other side, you have a 20 lines patch that is easy
> to apply/validate. I can live with this small patch out of tree, but
> there is a real need here.

FWIW, I tend to agree with the requirement - I'm also using X on an N800
internet tablet (touchscreen) and the Debian port would probably benefit from
having a global cursor killswitch
I'm not really bothered about it - just adding another use-case :)

David

-- 
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-30 Thread Lukas Hejtmanek
On Tue, Sep 30, 2008 at 01:56:12AM +0300, Daniel Stone wrote:
> Can you not just ship a null cursor theme or something if your apps
> insist on setting a cursor?

hmm, starting just Xserver and xterm makes it unusable, no cursor and the xterm
cannot be focused.

-- 
Lukáš Hejtmánek
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-29 Thread Olivier Guerrier
Daniel Stone wrote:
> Can you not just ship a null cursor theme or something if your apps
> insist on setting a cursor?

We considered that, but it is unreliable (how about hard coded cursor
for exemple), need in-depth testing/validating, and as a consequence eat
lot of time. On the other side, you have a 20 lines patch that is easy
to apply/validate. I can live with this small patch out of tree, but
there is a real need here.

Olivier.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-29 Thread Daniel Stone
On Mon, Sep 29, 2008 at 11:08:04PM +0200, Olivier Guerrier wrote:
> Ray Strode wrote:
> > As already mentioned on this thread,  -nocursor type behavior is the
> > default now.
> > 
> > There is no need for any out of tree patch.  X starts up without a cursor.
> 
> The point (at least Barry's and mine) is not having X starting with or
> without a cursor. It is about _permanently_ disabling X cursor drawing,
> at root and application level, and even if/when application request a
> cursor change.

Hmm, that seems a little odd.  Seems like there are three camps here:
* People writing display drivers (let's call them 'the minority')
  want a stipple and cursor.  -> -retro
* People starting regular desktop environments want the default
  behaviour.  (Though I have slight doubts.  I'd fall back on the
  default cursor being a NULL cursor unless forced otherwise, and
  IIRC the behaviour here is to suppress cursor realisation, which
  means you come back to an ugly root cursor, but that's fixable.)
* People running consumer/embedded systems who can't trust their
  apps not to try to change the cursors want to silently drop all
  cursor rendering.  -> patch required if deemed useful

Can you not just ship a null cursor theme or something if your apps
insist on setting a cursor?

Cheers,
Daniel


signature.asc
Description: Digital signature
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg

Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-29 Thread Olivier Guerrier
Ray Strode wrote:
> As already mentioned on this thread,  -nocursor type behavior is the
> default now.
> 
> There is no need for any out of tree patch.  X starts up without a cursor.

The point (at least Barry's and mine) is not having X starting with or
without a cursor. It is about _permanently_ disabling X cursor drawing,
at root and application level, and even if/when application request a
cursor change.

Olivier.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-29 Thread Ray Strode
Hi,

On Sun, Sep 28, 2008 at 2:46 PM, Olivier Guerrier <[EMAIL PROTECTED]> wrote:
> Barry Scott wrote:
>> We would love to have a -nocursor that got ride of the cursor from the
>> screen added to Xorg.
>>
>> We have a patch to do this that we use.
>
> Maybe a little off-topic here, but I back this proposal of totally
> disabling cursor at X level.
As already mentioned on this thread,  -nocursor type behavior is the
default now.

There is no need for any out of tree patch.  X starts up without a cursor.

--Ray
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-28 Thread Olivier Guerrier
Barry Scott wrote:
> We would love to have a -nocursor that got ride of the cursor from the 
> screen added to Xorg.
> 
> We have a patch to do this that we use.

Maybe a little off-topic here, but I back this proposal of totally
disabling cursor at X level. We also use Barry's patch:
http://lists.freedesktop.org/archives/xorg/2007-May/024825.html

We build a kiosk like interface upon distribution precompiled packages,
and we don't want to disable cursor in all applications we use (or will use)

This patch also allow us to have a debug mode with the very _same_ xorg
binary.

Don't know fo sure if this patch do it the right way, but it is simple,
and do what we need. I hope it could go upstream sooner or later.

Olivier.
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-27 Thread Ray Strode
Hi,


On Thu, Sep 25, 2008 at 1:20 PM, David Greaves <[EMAIL PROTECTED]> wrote:
> Barry Scott wrote:
>> Am I right in thinking this only disables the cursor over the root
>> window and not over the whole screen?
> Yes.
> Individual apps have the ability to remove their own cursor - and can't the
> cursor can be managed once X has started?
>
> This patch covers the tiny time period when the cross is the only thing 
> visible
> on the screen. Pure vanity :)

Note the X server doesn't show the cross when starting up anymore.

See,

http://cgit.freedesktop.org/xorg/xserver/commit/?id=e02f864fdf19a5ab1682336be343c57fdb69ef43

--Ray
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-25 Thread Barry Scott
David Greaves wrote:
> (resend - didn't realise xorg was subscribe only)
>
> Hi Keith
>
> After irc discussions I sent this patch in via daniel last december but I 
> guess
> it got dropped.
>
> You seem to be an active committer to xorg/xserver so could you commit this 
> for
> me or let me know what needs changing.
>
> It is against xorg/xserver git from about an hour ago.
>
>   
Am I right in thinking this only disables the cursor over the root 
window and not over the
whole screen?

I'd suggest that you name the option --norootcursor not -nocursor if 
that is the case.

We would love to have a -nocursor that got ride of the cursor from the 
screen
added to Xorg.

We have a patch to do this that we use.

Barry



> Thanks.
>
> David
>
> ===
>
> Make -nocursor a runtime option to and remove the compile time 
> NULL_ROOT_CURSOR
>
> This is for use on a picture frame but I guess would be useful on touch 
> screens
> and in other situations too.
>
> Signed-off-by: David Greaves <[EMAIL PROTECTED]>
>
> ---
>  configure.ac|7 --
>  dix/cursor.c|   55 ++
>  dix/globals.c   |1 +
>  doc/Xserver.man.pre |4 +++
>  include/dix-config.h.in |3 --
>  include/opaque.h|1 +
>  os/utils.c  |5 
>  7 files changed, 37 insertions(+), 39 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 60cdc14..88a2c01 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -492,9 +492,6 @@ AC_ARG_ENABLE(install-libxf86config,
>  AC_ARG_ENABLE(builtin-fonts,  AS_HELP_STRING([--enable-builtin-fonts], [Use
> only built-in fonts (default: yes)]),
>  [BUILTIN_FONTS=$enableval],
>  [BUILTIN_FONTS=yes])
> -AC_ARG_ENABLE(null-root-cursor, AS_HELP_STRING([--enable-null-root-cursor],
> [Use an empty root cursor (default: use core cursor)]),
> - [NULL_ROOT_CURSOR=$enableval],
> - [NULL_ROOT_CURSOR=no])
>
>  dnl GLX build options
>  AC_ARG_WITH(mesa-source, AS_HELP_STRING([--with-mesa-source=MESA_SOURCE],
> [Path to Mesa source tree]),
> @@ -981,10 +978,6 @@ AC_CHECK_FUNC(strncasecmp, [], 
> AC_DEFINE([NEED_STRNCASECMP], 1,
>  AC_CHECK_FUNC(strcasestr, [], AC_DEFINE([NEED_STRCASESTR], 1,
> [Do not have 'strcasestr'.]))
>
> -if test "x$NULL_ROOT_CURSOR" = xyes; then
> -AC_DEFINE(NULL_ROOT_CURSOR, 1, [Use an empty root cursor])
> -fi
> -
>  PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], 
> [have_libxdmcp="no"])
>  if test "x$have_libxdmcp" = xyes; then
>   AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], 
> [have_xdmcpwrap="no"],
> [$XDMCP_LIBS])
> diff --git a/dix/cursor.c b/dix/cursor.c
> index 81540fd..38224cf 100644
> --- a/dix/cursor.c
> +++ b/dix/cursor.c
> @@ -519,39 +519,36 @@ CursorPtr
>  CreateRootCursor(char *unused1, unsigned int unused2)
>  {
>  CursorPtrcurs;
> -#ifdef NULL_ROOT_CURSOR
>  CursorMetricRec cm;
> -#else
>  FontPtr  cursorfont;
>  int  err;
>  XID  fontID;
> -#endif
> -
> -#ifdef NULL_ROOT_CURSOR
> -cm.width = 0;
> -cm.height = 0;
> -cm.xhot = 0;
> -cm.yhot = 0;
> -
> -AllocARGBCursor(NULL, NULL, NULL, &cm, 0, 0, 0, 0, 0, 0,
> - &curs, serverClient, (XID)0);
> -
> -if (curs == NullCursor)
> -return NullCursor;
> -#else
> -fontID = FakeClientID(0);
> -err = OpenFont(serverClient, fontID, FontLoadAll | FontOpenSync,
> - (unsigned)strlen(defaultCursorFont), defaultCursorFont);
> -if (err != Success)
> - return NullCursor;
> -
> -cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT);
> -if (!cursorfont)
> - return NullCursor;
> -if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
> -  &curs, serverClient, (XID)0) != Success)
> - return NullCursor;
> -#endif
> + 
> + if (nullRootCursor) {
> + cm.width = 0;
> + cm.height = 0;
> + cm.xhot = 0;
> + cm.yhot = 0;
> +
> + AllocARGBCursor(NULL, NULL, NULL, &cm, 0, 0, 0, 0, 0, 0,
> + &curs, serverClient, (XID)0);
> +
> + if (curs == NullCursor)
> + return NullCursor;
> + } else {
> + fontID = FakeClientID(0);
> + err = OpenFont(serverClient, fontID, FontLoadAll | FontOpenSync,
> +(unsigned)strlen(defaultCursorFont), 
> defaultCursorFont);
> + if (err != Success)
> + return NullCursor;
> +
> + cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT);
> + if (!cursorfont)
> + return NullCursor;
> + if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
> +

Re: [PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-25 Thread David Greaves
Barry Scott wrote:
> Am I right in thinking this only disables the cursor over the root
> window and not over the whole screen?
Yes.
Individual apps have the ability to remove their own cursor - and can't the
cursor can be managed once X has started?

This patch covers the tiny time period when the cross is the only thing visible
on the screen. Pure vanity :)

> I'd suggest that you name the option --norootcursor not -nocursor if
> that is the case.
That's reasonable, update to follow.

David

-- 
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
___
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg


[PATCH] Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

2008-09-25 Thread David Greaves
(resend - didn't realise xorg was subscribe only)

Hi Keith

After irc discussions I sent this patch in via daniel last december but I guess
it got dropped.

You seem to be an active committer to xorg/xserver so could you commit this for
me or let me know what needs changing.

It is against xorg/xserver git from about an hour ago.

Thanks.

David

===

Make -nocursor a runtime option to and remove the compile time NULL_ROOT_CURSOR

This is for use on a picture frame but I guess would be useful on touch screens
and in other situations too.

Signed-off-by: David Greaves <[EMAIL PROTECTED]>

---
 configure.ac|7 --
 dix/cursor.c|   55 ++
 dix/globals.c   |1 +
 doc/Xserver.man.pre |4 +++
 include/dix-config.h.in |3 --
 include/opaque.h|1 +
 os/utils.c  |5 
 7 files changed, 37 insertions(+), 39 deletions(-)

diff --git a/configure.ac b/configure.ac
index 60cdc14..88a2c01 100644
--- a/configure.ac
+++ b/configure.ac
@@ -492,9 +492,6 @@ AC_ARG_ENABLE(install-libxf86config,
 AC_ARG_ENABLE(builtin-fonts,  AS_HELP_STRING([--enable-builtin-fonts], [Use
only built-in fonts (default: yes)]),
 [BUILTIN_FONTS=$enableval],
 [BUILTIN_FONTS=yes])
-AC_ARG_ENABLE(null-root-cursor, AS_HELP_STRING([--enable-null-root-cursor],
[Use an empty root cursor (default: use core cursor)]),
- [NULL_ROOT_CURSOR=$enableval],
- [NULL_ROOT_CURSOR=no])

 dnl GLX build options
 AC_ARG_WITH(mesa-source, AS_HELP_STRING([--with-mesa-source=MESA_SOURCE],
[Path to Mesa source tree]),
@@ -981,10 +978,6 @@ AC_CHECK_FUNC(strncasecmp, [], 
AC_DEFINE([NEED_STRNCASECMP], 1,
 AC_CHECK_FUNC(strcasestr, [], AC_DEFINE([NEED_STRCASESTR], 1,
[Do not have 'strcasestr'.]))

-if test "x$NULL_ROOT_CURSOR" = xyes; then
-AC_DEFINE(NULL_ROOT_CURSOR, 1, [Use an empty root cursor])
-fi
-
 PKG_CHECK_MODULES([XDMCP], [xdmcp], [have_libxdmcp="yes"], 
[have_libxdmcp="no"])
 if test "x$have_libxdmcp" = xyes; then
AC_CHECK_LIB(Xdmcp, XdmcpWrap, [have_xdmcpwrap="yes"], 
[have_xdmcpwrap="no"],
[$XDMCP_LIBS])
diff --git a/dix/cursor.c b/dix/cursor.c
index 81540fd..38224cf 100644
--- a/dix/cursor.c
+++ b/dix/cursor.c
@@ -519,39 +519,36 @@ CursorPtr
 CreateRootCursor(char *unused1, unsigned int unused2)
 {
 CursorPtr  curs;
-#ifdef NULL_ROOT_CURSOR
 CursorMetricRec cm;
-#else
 FontPtrcursorfont;
 interr;
 XIDfontID;
-#endif
-
-#ifdef NULL_ROOT_CURSOR
-cm.width = 0;
-cm.height = 0;
-cm.xhot = 0;
-cm.yhot = 0;
-
-AllocARGBCursor(NULL, NULL, NULL, &cm, 0, 0, 0, 0, 0, 0,
-   &curs, serverClient, (XID)0);
-
-if (curs == NullCursor)
-return NullCursor;
-#else
-fontID = FakeClientID(0);
-err = OpenFont(serverClient, fontID, FontLoadAll | FontOpenSync,
-   (unsigned)strlen(defaultCursorFont), defaultCursorFont);
-if (err != Success)
-   return NullCursor;
-
-cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT);
-if (!cursorfont)
-   return NullCursor;
-if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
-&curs, serverClient, (XID)0) != Success)
-   return NullCursor;
-#endif
+   
+   if (nullRootCursor) {
+   cm.width = 0;
+   cm.height = 0;
+   cm.xhot = 0;
+   cm.yhot = 0;
+
+   AllocARGBCursor(NULL, NULL, NULL, &cm, 0, 0, 0, 0, 0, 0,
+   &curs, serverClient, (XID)0);
+
+   if (curs == NullCursor)
+   return NullCursor;
+   } else {
+   fontID = FakeClientID(0);
+   err = OpenFont(serverClient, fontID, FontLoadAll | FontOpenSync,
+  (unsigned)strlen(defaultCursorFont), 
defaultCursorFont);
+   if (err != Success)
+   return NullCursor;
+
+   cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT);
+   if (!cursorfont)
+   return NullCursor;
+   if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0,
+&curs, serverClient, 
(XID)0) != Success)
+   return NullCursor;
+   }

 if (!AddResource(FakeClientID(0), RT_CURSOR, (pointer)curs))
return NullCursor;
diff --git a/dix/globals.c b/dix/globals.c
index 60fd9a9..c93a83d 100644
--- a/dix/globals.c
+++ b/dix/globals.c
@@ -141,6 +141,7 @@ FontPtr defaultFont;   /* not declared in dix.h to avoid
including font.h in
 CursorPtr rootCursor;
 Bool party_like_its_1989 = FALSE;
 Bool whiteRoot = FALSE;
+Bool nullRootCursor=FALSE;

 _X_EXPORT