I decided to build against Qt3 rather than TQt3. First time in a long time.
The patch we used recently to build avahi-tqt against TQt3 can't be used when building against Qt3. The patch is good only when building against TQt3. I presume the proper way to implement the patch is to add some preprocessor checks so packagers don't have to worry about the issue. For myself I added the following test in my avahi-tqt build script:
if [ -r ${PREFIX}/lib/pkgconfig/tqt-mt.pc ] || [ -r /usr/lib/pkgconfig/tqt-mt.pc ]; then
cat $CWD/avahi-tqt-fixes.diff | patch -p1 --verbose --no-backup-if-mismatch || exit 1
fi
tdebase fails to build:
/dev/shm/tdebase.build/kicker/kicker/core/kmenubase.ui.h:7: error: 't_xdisplay' was not declared in this scope
As neither tqt_xdisplay nor qt_xdisplay is used in the source file, why does the file compile against TQt3 and not Qt3?
Darrell
Calvin, Slavek, Liddell,
I'm trying to fix tdepim to build with gcc47, but I don't understand how to
make sure I'm fixing the right 'it' iterator. Specifically, the multiple
declaration issue is:
/build/src/tdepim/kmail/kmsystemtray.cpp: In member function 'void
KMSystemTray::updateNewMessages()':
/build/src/tdepim/kmail/kmsystemtray.cpp:485:48: error: redeclaration of
'TQMap<TQGuardedPtr<KMFolder>, int>::Iterator it'
/build/src/tdepim/kmail/kmsystemtray.cpp:475:55: error:
'TQMap<TQGuardedPtr<KMFolder>, bool>::Iterator it' previously declared here
The code beginning at line 473 is:
void KMSystemTray::updateNewMessages()
{
for ( TQMap<TQGuardedPtr<KMFolder>, bool>::Iterator it =
mPendingUpdates.begin();
it != mPendingUpdates.end(); ++it)
{
KMFolder *fldr = it.key();
if ( !fldr ) // deleted folder
continue;
/** The number of unread messages in that folder */
int unread = fldr->countUnread();
TQMap<TQGuardedPtr<KMFolder>, int>::Iterator it =
mFoldersWithUnread.find(fldr);
bool unmapped = (it == mFoldersWithUnread.end());
/** If the folder is not mapped yet, increment count by numUnread
in folder */
if(unmapped) mCount += unread;
/* Otherwise, get the difference between the numUnread in the folder and
* our last known version, and adjust mCount with that difference */
else
{
int diff = unread - it.data();
mCount += diff;
}
Looking through the comments and context, there seems to be two 'it'
iterators involved:
TQMap<.., bool>::...it
TQMap<.., int>::...it
with the 'bool' declaration being the loop index and the 'int' being used to
determine if the folder with unread messages is unmapped. The 'bool' dec seems
to be the one used to access the class data (i.e. it.key(), it.data()) If I'm
reading that correctly, then we can correct the 'int' iterator by renaming it
something like 'unread_it'
TQMap<TQGuardedPtr<KMFolder>, int>::Iterator unread_it =
mFoldersWithUnread.find(fldr);
bool unmapped = (unread_it == mFoldersWithUnread.end());
What say the experts. Is my reading of which 'it' can be renamed correct?
--
David C. Rankin, J.D.,P.E.
I have so much enjoyed being able to disable the cycling feature with the task bar and pager applet (bug reports 251 and 908). Both patches have reduced my irritability/anxiety levels. :)
'Tis the little things that often affect us most. :)
Darrell
Darrell, all
I'm making an attempt at fixing k3b for gcc47. If anyone else has already done
this please stop me. It is part of bug 958.
--
David C. Rankin, J.D.,P.E.
Collation of TSAK/TDM related issues (there are overlaps in descriptions but that does not mean the same exact problem):
Bug reports involved:
928, kdm starts too early
925, [kdesktop] SAK driven secure dialog is not available for use
906, SAK realization is mostly buggy for KDM
898, tsak process taking 90-100% of CPU
894, TDM: Log file is never purged
884, tdmctl: Cannot connect socket '/var/run/xdmctl/dmctl-:0/socket'
667, kdm spawns kwin as root, keeps running after login
625, KDM is hard-coded to use /tmp rather than $TMP or $TMPDIR
==================================================
Direct TSAK issues:
* TSAK demands 90-100% CPU.
* High CPU consumption on wait SAK.
* TSAK/TDM performs no housekeeping to remove pipe/socket files:
1) During a reboot/halt (when TDM terminates)
2) X server restart (which TDM allows)
3) When a user disables TSAK in KControl (tdmrc:UseSAK=false)
* Restarting X server or TSAK ignores the tdmrc:UseSAK=false, using the existing
pipe/socket files instead and keeps running even when explicitly disabled in tdmrc.
* When building tdebase without TSAK support (-DBUILD_TSAK=OFF), and tdmrc:UseSAK=false,
TDM starts with the dialog to press Ctrl-Alt-Del. That should not happen.
* Disabling TSAK in tdmrc (UseSAK=false) does not work.
* Exit from wait dialog by Ctrl+Alt+Del does not work.
* Some people cannot obtain access to the TDM login dialog when pressing Ctrl-Alt-Del.
* TSAK ownership of /tmp/tdesocket-global is assigned to the system's primary login account.
Ownership of that directory is determined by the account UID listed in the tdmrc MinShowUID
key and then that account number is grabbed from /etc/passwd.
* xsession message of "[kdesktop] SAK driven secure dialog is not available for use (retcode %d)"
appears although TDM is not running when using startx.
==================================================
Related to TDM and TSAK:
* When starting X from startx (TDM is not running) the message
"tdmctl: Cannot connect socket '/var/run/xdmctl/dmctl-:0/socket'"
appears. There should be no tdmctl/TSAK related messages when using startx.
* Both calls to tdmctl in tdmtsak use the format "tdmctl list" yet there is no
"list" option in tdmctl --help. What is the "list" parameter supposed to do?
* TDM creates nominal profile directories in /tmp. All such directories use a numeric name string. TDM runs
as non-user, but should not be creating any profile directories. Not needed and the profile directories
are never purged. Never happened in KDE3.
==================================================
TDM specific:
* TDM starts too early
* TDM log files never purged.
* TDM spawns twin as root, keeps running after login
I hope this helps. :)
Darrell
All,
I'm trying to patch knemo to initialize with the Sys backend (as default) for
the package. You have the option to set Nettools or Sys (kernel) providing
network information to the monitor. Sys is much more efficient than Nettools,
but only works for kernels >= 2.6 (which is everybody now). I wouldn't care or
go to the effort is the Nettools backend still worked, but as of the Linux
3.0/3.1 kernels, (as well as later 2.6.X kernels) Nettools doesn't seem to work
forcing the user to find and set the obscure setting to Sys before the module
will work at all. I propose we make 'Sys' the default backend in TDE.
Hunting and picking through the code, I have found where the default values
are set for the backend as well as the colors for the plotter graph. There were
a couple of structs and constructors involved depending on how knemo was
launched. I have created a patch that does both (1) set the default backend to
sys and (2) change the graph colors a bit so it is readable regardless of
whether there is a dark/light background shown.
Here is the patch, look it over, engage in discourse and if the yays are
greater than the nays --> push it :) (works with gcc47 too :)
--
David C. Rankin, J.D.,P.E.
All,
I don't know if this is a focus problem, or a problem with ksnapshot itself.
But with ksnapshot configured to capture 'window under cursor' with no delay, if
the window is not the top window, ksnapshot will capture any overlying window
within the geometry of the window you are trying to capture. I've opened a
normal bug for it:
http://bugs.pearsoncomputing.net/show_bug.cgi?id=966
I don't know if this is gcc47, a bug in the desktop when focus set to 'follow
mouse' or what. I have never seen this behavior before. Here are a couple of
screenshots:
http://www.3111skyline.com/dl/dt/trinity/ss/ksnapshot-win-under-cursor-bug.…http://www.3111skyline.com/dl/dt/trinity/ss/ksnapshot-win-under-cursor-bug2…
Also, if you notice, the right side of the window is not captured correctly
either. (possible libpng15 issue??)
Thoughts? tdegraphics build is:
cmake ${srcdir}/${pkgname#*-} \
-DCMAKE_CXX_FLAGS="-fpermissive" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX=${TDEDIR} \
-DWITH_T1LIB=ON \
-DWITH_LIBPAPER=ON \
-DWITH_TIFF=ON \
-DWITH_OPENEXR=ON \
-DWITH_PDF=ON \
-DBUILD_ALL=ON
(no patches)
Thoughts?
--
David C. Rankin, J.D.,P.E.
Darrell,
Here is a simple one for you. The 'tips' in konsole tips to set the prompt
incorrectly uses a 'close' instead of 'open' bracket following the 'e' and
incorrectly uses a ';' and omits the 'm' to terminate resetting the prompt
background and bold state. The tips contain 3 similar references in the form:
export PS1=$PS1"\[\e]0;\H:\w\a\]"
This is wrong. It should be:
export PS1=$PS1"\[\e[0m\H:\w\a\]"
Note the second bracket is backwards... should be
PS1=$PS1"\[\e[
^
Further, to properly reset the background and bold state of the prompt (and to
terminate non-printing characters) so that BASH can properly calculate prompt
length and spacing, you must use '\[\e0m' not \[\e]0; (note the semicolon) The
semicolon is used to separate the foreground/background colors not terminate the
reset... You can see the differences when you look at the bad/good prompts
stacked above/below each other:
export PS1=$PS1"\[\e]0;\H:\w\a\]"
export PS1=$PS1"\[\e[0m\H:\w\a\]"
I've included a patch that fixes the existing 3 prompt tips and I have
included 2 additional prompt tips as well.
Review, signoff and push. If you don't want the additional 2 tips, just trim
them from the patch. (I always like additional tips :)
(no I won't explain how I found this :)
--
David C. Rankin, J.D.,P.E.