[mythtv] more progress.. plus a PATCH :)

Reza Naima reza at reza.net
Wed Aug 20 06:16:55 EDT 2003


I found this...

                val.iconpath = query.value(2).toString();
                if (val.iconpath == QString::null)
                    val.iconpath = "(null)";
                if (val.iconpath.stripWhiteSpace().length() == 0)
                    val.iconpath = "(null)";

So, it's not NULL, but rather is set to the text '(null)' for some
reason (I suspect a conspiracy to confuse and irritate me).  But it
doesn't seem to ever check for that string again.  Rather it checks for
'none'.  Seems as if this patch should fix it...


[mythtv at pvr src]$ diff -c mythtv-0.11/libs/libmythtv/guidegrid.cpp
z/mythtv-0.11/libs/libmythtv/guidegrid.cpp 
*** mythtv-0.11/libs/libmythtv/guidegrid.cpp	2003-07-31
10:25:46.000000000 -0700
--- z/mythtv-0.11/libs/libmythtv/guidegrid.cpp	2003-08-20
05:12:02.000000000 -0700
***************
*** 855,861 ****
          if ((y == (unsigned int)2 && scrolltype != 1) || 
              ((signed int)y == m_currentRow && scrolltype == 1))
          {
!             if (chinfo->iconpath != "none" && chinfo->iconpath != "")
              {
                  int iconsize = 0;
                  if (itype)
--- 855,861 ----
          if ((y == (unsigned int)2 && scrolltype != 1) || 
              ((signed int)y == m_currentRow && scrolltype == 1))
          {
!             if (chinfo->iconpath != "(null)" && chinfo->iconpath != "")
              {
                  int iconsize = 0;
                  if (itype)
***************
*** 879,885 ****
  
          if (type)
          {
!             if (chinfo->iconpath != "none" && chinfo->iconpath != "")
              {
                  int iconsize = 0;
                  iconsize = type->GetSize();
--- 879,885 ----
  
          if (type)
          {
!             if (chinfo->iconpath != "(null)" && chinfo->iconpath != "")
              {
                  int iconsize = 0;
                  iconsize = type->GetSize();




On Wed, Aug 20, 2003 at 04:34:15AM -0700, Reza Naima sent me this...
> I tracked it down to mythfrontend's guidegrid trying to load icons that
> don't exist.  The function 
> 
> 	void GuideGrid::paintChannels(QPainter *p)
> 
> checks to see if there is a valid 'icon' to load ...
> 
> 	if (chinfo->iconpath != "none" && chinfo->iconpath != "" )
> 
> however, by printing out chinfo->iconpath.ascii(), I get (null) when I
> print it out.. this is what propages to the mythbackend and causes it to
> crash.  I tried to fix it using something like this ...
> 
> 	if (chinfo->iconpath != "none" && chinfo->iconpath != ""  && ! chinfo->iconpath.isNull() )
> 
> but it's still trying to load (null) iconpaths.  I'm fairly tired now,
> to do more investigating.  However, as  test, I tried updating my
> channel table..
> 
> 	mysql> update channel set icon="none" where icon="";
> 
> this fixed my problem and it no longer tries to load the icons from the
> mythbackend.  However, this still leaves a few issues : 
> 
> 1-why does mythbackend crash. I havn't been able to use gdb to figure
> this out.
> 2-if a database entry is blank (""), but not null -- why is iconpath loading
> up as NULL and not "" (which is what is being tested for)
> 3-my sound starts stuttering when i change channels (pundit's intel8x1
> alsa driver) -- well, not related, by it's my new thing to track down
> 
> Reza
> 
> On Wed, Aug 20, 2003 at 01:15:02AM -0700, Reza Naima sent me this...
> > As stated before, changing channels in the EPG results in requests for a
> > file transfer.  Adding some debugging statements....
> > 
> >         QUrl qurl = slist[1];
> >         QString filename = LocalFilePath(qurl);
> > 
> > 	cout << " - Requesting " << filename.ascii() << endl;
> > 
> > 
> > resulted in...
> > 
> >  - Requesting /var/mythtv/(null)
> > 
> > Every so often as I scroll through the channels. And after enough of
> > them, it segfaults (still need to track that down,
> > though it's painful as I can't seem to run gdb on mythbackend without
> > causing it to crash instantly.)
> > 
> > Any hints on where to look for the source of the null file requests?
> > 
> > Reza
> > 
> 
> > _______________________________________________
> > mythtv-dev mailing list
> > mythtv-dev at mythtv.org
> > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
> 

> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev



More information about the mythtv-dev mailing list