1. Long filename bug fix.
2. corba-gmc is now the default "gmc" installed 3. corba-gmc now by default tries to activate a running instance instead of registering a server. Miguel.
Этот коммит содержится в:
родитель
4c17f82857
Коммит
53c34b967d
@ -1,5 +1,6 @@
|
|||||||
mx
|
mx
|
||||||
gmc
|
plain-gmc
|
||||||
|
corba-gmc
|
||||||
Makefile
|
Makefile
|
||||||
.depend
|
.depend
|
||||||
mc.metadata
|
mc.metadata
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
1999-01-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
|
||||||
|
|
||||||
|
* gcorba.c: Provide new code to activate an existing
|
||||||
|
FileManagerFactory factory.
|
||||||
|
|
||||||
|
installed gmc is now corba-gmc. plain-gmc is still available if
|
||||||
|
you want it.
|
||||||
|
|
||||||
Thu Jan 28 02:15:48 1999 Timur Bakeyev <mc@bat.ru>
|
Thu Jan 28 02:15:48 1999 Timur Bakeyev <mc@bat.ru>
|
||||||
|
|
||||||
* gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.
|
* gdialogs.c: fixed "regexp.h" -> "eregexp.h" conversion.
|
||||||
|
@ -116,6 +116,7 @@ CORBAOBJS = \
|
|||||||
main-corba.o \
|
main-corba.o \
|
||||||
gcorba.o \
|
gcorba.o \
|
||||||
FileManager-skels.o \
|
FileManager-skels.o \
|
||||||
|
FileManager-stubs.o \
|
||||||
FileManager-common.o
|
FileManager-common.o
|
||||||
|
|
||||||
OBJS = \
|
OBJS = \
|
||||||
@ -188,12 +189,18 @@ Makefile: Makefile.in ../config.status
|
|||||||
(cd ..; CONFIG_FILES=gnome/Makefile CONFIG_HEADERS= ./config.status)
|
(cd ..; CONFIG_FILES=gnome/Makefile CONFIG_HEADERS= ./config.status)
|
||||||
|
|
||||||
mx: checklinks
|
mx: checklinks
|
||||||
$(MAKE) gmc
|
$(MAKE) plain-gmc
|
||||||
$(MAKE) corba-gmc
|
$(MAKE) corba-gmc
|
||||||
touch mx
|
@echo ----------------------------------------------------------
|
||||||
|
@echo -
|
||||||
|
@echo - GMC no longer exists here. Use plain-gmc or corba-gmc
|
||||||
|
@echo - if you are debugging/working on this.
|
||||||
|
@echo -
|
||||||
|
@echo -----------------------------------------------------------
|
||||||
|
@touch mx
|
||||||
|
|
||||||
gmc: @LIBVFS@ $(OBJS) $(NORMALOBJS) @LIBSLANG@ libgtkedit.a
|
plain-gmc: @LIBVFS@ $(OBJS) $(NORMALOBJS) @LIBSLANG@ libgtkedit.a
|
||||||
$(CC) -o gmc $(NORMALOBJS) $(OBJS) $(LDFLAGS) -L../vfs -L../slang -L../gtkedit $(EXTRALIBS) $(LIBS)
|
$(CC) -o plain-gmc $(NORMALOBJS) $(OBJS) $(LDFLAGS) -L../vfs -L../slang -L../gtkedit $(EXTRALIBS) $(LIBS)
|
||||||
|
|
||||||
corba-gmc: @LIBVFS@ $(OBJS) $(CORBAOBJS) @LIBSLANG@ libgtkedit.a
|
corba-gmc: @LIBVFS@ $(OBJS) $(CORBAOBJS) @LIBSLANG@ libgtkedit.a
|
||||||
$(CC) -o corba-gmc $(CORBAOBJS) $(OBJS) $(CORBA_LDFLAGS) -L../vfs -L../slang -L../gtkedit $(EXTRALIBS) $(LIBS)
|
$(CC) -o corba-gmc $(CORBAOBJS) $(OBJS) $(CORBA_LDFLAGS) -L../vfs -L../slang -L../gtkedit $(EXTRALIBS) $(LIBS)
|
||||||
@ -243,7 +250,7 @@ TAGS: $(GNOMESRCS)
|
|||||||
etags $(GNOMESRCS)
|
etags $(GNOMESRCS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RMF) gmc corba-gmc *.o core a.out mx @LIBVFS@ libgtkedit.a libmcslang.a
|
$(RMF) plain-gmc corba-gmc *.o core a.out mx @LIBVFS@ libgtkedit.a libmcslang.a
|
||||||
|
|
||||||
realclean: clean
|
realclean: clean
|
||||||
$(RMF) .depend
|
$(RMF) .depend
|
||||||
@ -269,8 +276,8 @@ install_mx: all
|
|||||||
$(mcsrcdir)/xmkdir $(DESTDIR)$(libdir)
|
$(mcsrcdir)/xmkdir $(DESTDIR)$(libdir)
|
||||||
$(mcsrcdir)/xmkdir $(DESTDIR)$(bindir)
|
$(mcsrcdir)/xmkdir $(DESTDIR)$(bindir)
|
||||||
$(mcsrcdir)/xmkdir $(gnewdir)
|
$(mcsrcdir)/xmkdir $(gnewdir)
|
||||||
$(INSTALL_PROGRAM) gmc $(DESTDIR)$(bindir)/$(binprefix)gmc
|
$(INSTALL_PROGRAM) plain-gmc $(DESTDIR)$(bindir)/$(binprefix)plain-gmc
|
||||||
$(INSTALL_PROGRAM) corba-gmc $(DESTDIR)$(bindir)/$(binprefix)corba-gmc
|
$(INSTALL_PROGRAM) corba-gmc $(DESTDIR)$(bindir)/$(binprefix)gmc
|
||||||
for I in $(ICONS); \
|
for I in $(ICONS); \
|
||||||
do $(INSTALL_DATA) $(srcdir)/$$I $(DESTDIR)$(icondir)/$$I; done
|
do $(INSTALL_DATA) $(srcdir)/$$I $(DESTDIR)$(icondir)/$$I; done
|
||||||
$(INSTALL_DATA) $(srcdir)/layout $(DESTDIR)$(libdir)/layout
|
$(INSTALL_DATA) $(srcdir)/layout $(DESTDIR)$(libdir)/layout
|
||||||
|
@ -189,10 +189,46 @@ impl_GNOME_FileManagerFactory_create_object(impl_POA_GNOME_FileManagerFactory *
|
|||||||
return CORBA_OBJECT_NIL;
|
return CORBA_OBJECT_NIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
int
|
||||||
corba_register_server (void)
|
try_to_activate_running_copy (void)
|
||||||
|
{
|
||||||
|
CORBA_Object name_service;
|
||||||
|
CORBA_Environment ev;
|
||||||
|
CosNaming_NameComponent nc[3] = {{"GNOME", "subcontext"},
|
||||||
|
{"Servers", "subcontext"},
|
||||||
|
{"gmc_filemanager_factory", "object"}};
|
||||||
|
CosNaming_Name nom = {0, 3, nc, CORBA_FALSE};
|
||||||
|
CORBA_Object retval = CORBA_OBJECT_NIL;
|
||||||
|
|
||||||
|
CORBA_exception_init (&ev);
|
||||||
|
|
||||||
|
name_service = gnome_name_service_get();
|
||||||
|
if (name_service == CORBA_OBJECT_NIL)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
retval = CosNaming_NamingContext_resolve (name_service, &nom, &ev);
|
||||||
|
if (ev._major == CORBA_USER_EXCEPTION
|
||||||
|
&& strcmp(CORBA_exception_id(&ev), ex_CosNaming_NamingContext_NotFound) == 0){
|
||||||
|
retval = CORBA_OBJECT_NIL;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CORBA_Object_is_nil (retval, &ev))
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
GNOME_FileManagerFactory_create_window (retval, home_dir, &ev);
|
||||||
|
|
||||||
|
if (ev._major != CORBA_NO_EXCEPTION)
|
||||||
|
retval = CORBA_OBJECT_NIL;
|
||||||
|
out:
|
||||||
|
CORBA_exception_free (&ev);
|
||||||
|
CORBA_Object_release (name_service, &ev);
|
||||||
|
return retval != CORBA_OBJECT_NIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
corba_init (void)
|
||||||
{
|
{
|
||||||
int v;
|
|
||||||
CORBA_Environment ev;
|
CORBA_Environment ev;
|
||||||
|
|
||||||
CORBA_exception_init (&ev);
|
CORBA_exception_init (&ev);
|
||||||
@ -216,6 +252,15 @@ corba_register_server (void)
|
|||||||
printf ("Can not get the POAmanager");
|
printf ("Can not get the POAmanager");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
corba_register_server (void)
|
||||||
|
{
|
||||||
|
CORBA_Environment ev;
|
||||||
|
int v;
|
||||||
|
|
||||||
|
CORBA_exception_init (&ev);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize the Factory Object
|
* Initialize the Factory Object
|
||||||
@ -225,6 +270,7 @@ corba_register_server (void)
|
|||||||
&ev);
|
&ev);
|
||||||
|
|
||||||
if (ev._major != CORBA_NO_EXCEPTION){
|
if (ev._major != CORBA_NO_EXCEPTION){
|
||||||
|
CORBA_exception_free (&ev);
|
||||||
printf ("Can not initialize FileManagerFactory object\n");
|
printf ("Can not initialize FileManagerFactory object\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -241,6 +287,7 @@ corba_register_server (void)
|
|||||||
NULL, filemanagerfactory_server,
|
NULL, filemanagerfactory_server,
|
||||||
"gmc_filemanager_factory", "server", &ev);
|
"gmc_filemanager_factory", "server", &ev);
|
||||||
|
|
||||||
|
CORBA_exception_free (&ev);
|
||||||
if (v != 0)
|
if (v != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
type=exe
|
type=exe
|
||||||
repo_id=IDL:GNOME/FileManagerFactory:1.0 IDL:GNOME/GenericFactory:1.0
|
repo_id=IDL:GNOME/FileManagerFactory:1.0 IDL:GNOME/GenericFactory:1.0
|
||||||
description=GNOME Midnight Commander
|
description=GNOME Midnight Commander
|
||||||
location_info=corba-gmc
|
location_info=gmc
|
||||||
|
|
||||||
[gmc_filemanager_window]
|
[gmc_filemanager_window]
|
||||||
type=factory
|
type=factory
|
||||||
|
@ -2606,6 +2606,7 @@ static void parse_an_arg (poptContext state,
|
|||||||
char *cmdline_geometry = NULL;
|
char *cmdline_geometry = NULL;
|
||||||
int nowindows = 0;
|
int nowindows = 0;
|
||||||
char **directory_list = NULL;
|
char **directory_list = NULL;
|
||||||
|
int force_activation = 0;
|
||||||
|
|
||||||
static struct poptOption argument_table [] = {
|
static struct poptOption argument_table [] = {
|
||||||
#ifdef HAVE_GNOME
|
#ifdef HAVE_GNOME
|
||||||
@ -2662,6 +2663,7 @@ static struct poptOption argument_table [] = {
|
|||||||
#ifdef HAVE_GNOME
|
#ifdef HAVE_GNOME
|
||||||
{ "geometry", '\0', POPT_ARG_STRING, &cmdline_geometry, 0, N_("Geometry for the window"), N_("GEOMETRY")},
|
{ "geometry", '\0', POPT_ARG_STRING, &cmdline_geometry, 0, N_("Geometry for the window"), N_("GEOMETRY")},
|
||||||
{"nowindows", '\0', POPT_ARG_NONE, &nowindows, 0, N_("No windows opened at startup"), NULL},
|
{"nowindows", '\0', POPT_ARG_NONE, &nowindows, 0, N_("No windows opened at startup"), NULL},
|
||||||
|
{"force-activation",0,POPT_ARG_NONE, &force_activation, 0, N_("Force activation even if a server is already running"), NULL},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{ NULL, 0, 0, NULL, 0 }
|
{ NULL, 0, 0, NULL, 0 }
|
||||||
@ -2687,10 +2689,13 @@ handle_args (int argc, char *argv [])
|
|||||||
CORBA_Environment ev;
|
CORBA_Environment ev;
|
||||||
|
|
||||||
CORBA_exception_init (&ev);
|
CORBA_exception_init (&ev);
|
||||||
|
|
||||||
orb = gnome_CORBA_init_with_popt_table (
|
orb = gnome_CORBA_init_with_popt_table (
|
||||||
"gmc", VERSION, &argc, argv, argument_table, 0, &ctx, GNORBA_INIT_SERVER_FUNC, &ev);
|
"gmc", VERSION, &argc, argv, argument_table, 0, &ctx, GNORBA_INIT_SERVER_FUNC, &ev);
|
||||||
|
|
||||||
|
corba_init ();
|
||||||
|
if (!force_activation)
|
||||||
|
if (try_to_activate_running_copy ())
|
||||||
|
exit (1);
|
||||||
#else
|
#else
|
||||||
gnome_init_with_popt_table ("gmc", VERSION, argc, argv, argument_table, 0, &ctx);
|
gnome_init_with_popt_table ("gmc", VERSION, argc, argv, argument_table, 0, &ctx);
|
||||||
#endif
|
#endif
|
||||||
|
@ -467,7 +467,7 @@ to_buffer (char *dest, int just_mode, int len, char *txt)
|
|||||||
}
|
}
|
||||||
still = len - txtlen;
|
still = len - txtlen;
|
||||||
if (just_mode == J_LEFT){
|
if (just_mode == J_LEFT){
|
||||||
strcpy (dest, txt);
|
strncpy (dest, txt, txtlen);
|
||||||
dest += txtlen;
|
dest += txtlen;
|
||||||
while (still--)
|
while (still--)
|
||||||
*dest++ = ' ';
|
*dest++ = ' ';
|
||||||
@ -475,7 +475,7 @@ to_buffer (char *dest, int just_mode, int len, char *txt)
|
|||||||
} else {
|
} else {
|
||||||
while (still--)
|
while (still--)
|
||||||
*dest++ = ' ';
|
*dest++ = ' ';
|
||||||
strcpy (dest, txt);
|
strncpy (dest, txt, len);
|
||||||
dest += txtlen;
|
dest += txtlen;
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user