2) Using the GUI Prefs program, I switched to the square window style theme.
That would be the likely cause, themes can occasionally reveal oddities in GUIs that only occur in certain combinations of settings, getting from there to finding the bug can be quite tricky though....
@all I compiled latest version from https://sourceforge.net/p/wookiechat/code/HEAD/tree/ with some minimal adaptations (to make it compiles). And while binary starts, open first window for user/nickname, and then after spawning a main window, crashes (as it was expected) in the network related code, in the muiclass_network.c, in function MM_ServerMessageSendMsg , right on that line:
@all Is it safe to replace NEWLIST macro from SDK to NewList((struct List*)l) ? Why i ask, it because i do that change in wookiechat, as it use NEWLIST macro in few places, which give me:
error: request for member 'lh_Head' in something not a structure or union error: request for member 'lh_Tail' in something not a structure or union error: request for member 'lh_Tail' in something not a structure or union error: request for member 'lh_TailPred' in something not a structure or union error: request for member 'lh_Head' in something not a structure or union
@TSK Aga good, there is how i compile it if we want to deal with it fast:
1. our own makefile, system_amigaos4.h and missing os4.h where we describe DoSuperNew and stccpy
(last one not need it, but i just take file from my old project)
They attached at bottom. Also libaos4deps.a, which have inside code of DoSuperNew and stccpy
2. in WookieChat.CD
change in MSG_MUICLASS_WINDOWIGNORELIST_INFO (//)
<<Join>> to have non strage characters on " "
3. functions.c
need to change
struct GfxBase *GfxBase;
on
struct Library *GfxBase;
also change:
LIBMACRO( "dos.library" , 0, 0 , DOSBase , IDos ), /* now all other stuff */
on
LIBMACRO( "dos.library" , 0, 0 , DOSBase , IDOS ), /* now all other stuff */
4. muiclass_network.c , muiclass_serverlist.c and muiclass_messageinput.c
Feel free to post there if you have any problems with.
I also do some more debug yesterday, and its indeed crashes on that line with AllocVec. Strangely enough, as i once replace it on something like AllocVec(150,MEMF_ANY), it start kind of work with some DSI's , so problem is parameters which passed to, and i think it is "MP_NETWORK_SERVERMESSAGESENDMSG *msg" , as class and objects values in debug whows fine.
@TSK Tracked down a bit more first crash, and that happens because of access to msg->Channel->c_Name. It is from struct Channel (placed in the muiclass_network.h) and defined like this:
char c_Name[ CHANNELENTRY_CHANNEL_SIZEOF + 2 ];
So just tring to print it out via %s right at begining of our MM_ServerMessageSendMsg function, and it crashes. Printed hex-value from and it did have value 0x00000030, which are 48 in DEC. CHANNELENTRY_CHANNEL_SIZEOF defined as 50 in muiclass_channellist.h
Trying to debug it futher, in hope that once it will be fixed, all the other code will be crash free.
Edited by kas1e on 2017/1/7 18:42:51 Edited by kas1e on 2017/1/7 18:48:01
and then you can use the result as an AllocVec parameter, kind of work, but the same as it work when i just do "AllocVec(200,MEMF_ANY);" , but then later again crashes come because of channel.
Something going wrong and trash channels, and that later lead to problems not only in that function, but elsewhere.
I may add to the wookie repo my changes to make it all compiles, so everyone may try to fix it.
So now everyone can download it , and just run "make -f Makefile.aos4" to have aos4 build.
Through, you may have problems with building catalogs via flexcat (as have i on cross-compiler), but probably on real os4 it will works as it. If not, you may need to edit .CD file a bit to remove some "bad" characters. Also to avoid problems with build another catalogs, you may just remove from makefile all catalogs generation except english (at least for tests, until wookie didn't work as should).
@kas1e I ran a test compile on my X1000 and after making some catalog related changes to the makefile and some ct files and the cd file, I was able to compile all files except the muiclass_messageinput.c file. That file contains some RAWKEY codes that are not found. The include file "devices/rawkeycodes.h" does not exist in my OS4 SDK. I changed it to "libraries/keymap.h" but 2 rawkey codes are not defined in keymap.h. I have no definitions for RAWKEY_UP & RAWKEY_DOWN. You must have some files in your SDK that I don't have. Do you have the definitions for RAWKEY_UP & RAWKEY_DOWN and where did you get them??
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
@kas1e I found the OS4 SDK equivalent definitions for those 2 definitions and added 2 definitions to the sources. I now have WookieChat compiling an linking. I don't know anything about WookieChat but for you or anyone else who wants to debug the program; here are the changes I made to get the sources to compile and link on OS4 native hardware:
Makefile.os4: Line 11 - The Spanish & French catalog names were borked. I copied the catalog names from the directory names with Dopus4 and replaced the bad ones by pasting the copied directory names.
system.h: Line 31 - Added "#include <dos/obsolete.h>" For whatever reason it didn't work when I added it to system_amigaos4.c.
WookieChat.cd: Line 247 - Replaced «Join» with <Join> because Flexcat flags « & » as non-printing codes and wouldn't create the catalog. I didn't have time to see if Flexcat has prefs or options to avoid flagging characters.
catalogs/espanol/WookieChat.ct: Line 103 - Replaced halfop[%%] with halfop[%] because Flexcat flags double percent character (%%) as an error.
catalogs/italiano/WookieChat.ct: Line 1132 - Replaced %%s with %s because Flexcat flags %% as an error. Line 1141 - Replaced %%s with %s because Flexcat flags %% as an error.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
but for you or anyone else who wants to debug the program; here are the changes I made to get the sources to compile and link on OS4 native hardware:
:) I already build it of course and trying to debug as you can see above, just without luck. That why i upload stuff to make os4 version compiles, so someone like Xenic who is known to deal with hardcore bugs can fix it :)
You may just run binary, waiting when it crashes, and debug crash till death :) once it will be fixed probably all other stuff will works.
As i got "undefined reference to `kputc'" I changed to use Exec 'RawPutChar()'
BTW would #define RawPutChar(chr) DebugPrintF( chr ) work too?
Easy solution: uncomment it back, and link against libdebug (it is in makefile already, you probably commented out it) which i upload for you: http://kas1e.mikendezign.com/aos4/wookie/libdebug.a Put it to sdk:local/newlib/lib/libdebug.a
@kas1e When I ran the compiled WookieChat without it's home directory, it crashed right away. When I D/L WookieChat 2.11 from OS4Depot and used the installer, it replaced my OS4.1FEu1 codesets.library with an ancient version of codesets library; very bad. I updated WookieChat with v2.12b15 and it runs but when I select a server and click connect it fails to connect.
I have never used IRC or WookieChat so it's probably better to let someone who is interrested in IRC ( jabirulo?) try to debug it.
WARNING: The WookieChat installer may overwrite your codesets.library with an older version.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450