Commit Graph

649 Commits

Author SHA1 Message Date
Eugene Doudine 4e2adc1f8e Fixes the bug, which caused dtterm to show stripes of wrong color between text lines when using fontsets that include fonts of slightly different heights.
The cause of the bug was that X*DrawImageString draws background
according to the extents of the given string, not to extents of the font set,
which determine terminal line height.

Now, when such a situation is detected, the background is cleared before
drawing the characters.
2014-05-03 22:11:41 -06:00
Eugene Doudine a9dbe60805 Fixes a small bug in grid registration: when an object is placed over another object (can be done manually) and then removed from there, the registration of the covered object is removed as well (that is it's cell is considered empty).
The patch converts desktop_grid[] from Boolean array into array of
counters of objects, which are placed on cells. When object is
placed on /removed from   the screen  the counter gets incremented/decremented.
2014-04-19 18:57:57 -06:00
Eugene Doudine 5544a0fb39 Fixes several issues with grid registration of the dtwm panel on dtfile startup and on workspace addition:
The panel registration code rather stupidly assumed that display
  size is always 1280x1024 pixels. Because of this, depending on screen
  size, the panel could be registered somewhere in the center of the screen
  or completely or partially beyond of it.

  The panels were registered only on startup, not  those, which were added
  from UI.

The fix moves panel registration into separate routine and removes assumption
about display size. The fix yet is not complete since it still makes assumption
about panel's geometry: from dtfile there is still no way to find out
dinamically  the size of panel and it's location.
2014-04-19 18:57:57 -06:00
Eugene Doudine 8bafd85d9a Fixes the off-by-one bug in RegisterInGrid(), which caused dtfile's desktop icons on the right edge of the screen (if desktop width is not a multiple of icon with) to be registered on the next workspace or (in the case of the last workspace) beyond the desktop_grid array (possibly causing segfaults).
On small screens segfaults could be also triggered without any icons on dtfile
startup if dtwm panel (or part of it) was registered beyond the screen when
RegisterInGrid() was called by InitializeDesktopGrid().

The patch also makes grid registration work for large objects (larger than
2 cells in any direction, like dtwm panel or icon with long file name).
Previously only rectangle vertices were registered.
2014-04-19 18:57:57 -06:00
Jon Trulson 1e2bdf93a8 dtappbuilder: bil_store.c: don't return local variables 2014-04-06 16:59:56 -06:00
Jon Trulson aa15240c22 ttsnoop.C.src: NULL is not 0 2014-04-06 16:55:45 -06:00
Jon Trulson 10e295b967 WMSaveSession.C: NULL is not 0 2014-04-06 16:54:31 -06:00
Jon Trulson 4a22f0671b SendMsgDialog.C: NULL is not 0 2014-04-06 16:53:05 -06:00
Jon Trulson 20265cd088 RoamMenuWindow.C: NULL is not 0 2014-04-06 16:51:16 -06:00
Jon Trulson 0080185db9 RoamInterruptibleCmd.C: NULL is not 0 2014-04-06 16:49:24 -06:00
Jon Trulson b241414cda AttachArea.C: NULL is not 0, sprintf needs a format 2014-04-06 16:48:40 -06:00
Jon Trulson 8a96463f2e InterruptibleCmd.C, WorkingDialogManager.C: NULL is not 0 2014-04-06 16:46:09 -06:00
Jon Trulson 5f99b8045b dtsession: screensaver don't pass random attributes to XScreenSaverSetAttributes()
This should fix the "tiny window appearing in the screensavers"
problem.
2014-04-05 18:09:01 -06:00
Ulrich Wilkens 38dfc9e235 Fix dtinfo search engine 2014-04-01 16:52:36 -06:00
Jon Trulson 0254ebc0b4 xtclient.c: fix debug statement regarding fd number 2014-03-24 19:54:37 -06:00
Jon Trulson 045de2cdd5 linux.cf: with fds_bits fixes, stop using _POSIX_C_SOURCE=199309L and _XOPEN_SOURCE defines 2014-03-24 19:38:20 -06:00
Jon Trulson 3c35e2d14d xtclient.c, spcd_event.c: stop referencing fds_bits directly 2014-03-24 19:37:09 -06:00
Jon Trulson 4312a1190b cleanup: eliminate missing sentinel warnings 2014-03-24 18:26:10 -06:00
Jon Trulson 165af415d1 dtcm/rfp.c: NULL is not 0 2014-03-24 17:49:19 -06:00
Jon Trulson 0a74d63db4 dtcm/reminders.c: NULL is not 0 2014-03-24 17:48:01 -06:00
Jon Trulson 9b699d3fb1 linux: build with thread safety and REENTRANT enabled.
There was a check in linux.cf for the Linux libc version that didn't
work, since these were never set anywhere.  Presumably current Xorg
imake sets these, but since we aren't using that... (yet)

As a result, the build assumed that thread-safe API's were not
supported.  Setting the default libc major version to '6' allows the
proper build to take place.  libc5 was never threadsafe and no one has
probably used it in over 10 years.

As a result, some earlier porting fixes that referenced '__fds_bits'
on linux systems had to be reverted as these are not valid in an MT
environment.  They are also not neccessary when building in such an
environment, as the normal 'fds_bits' works fine.

This patch defintely needs testing on many linux systems.
2014-03-24 17:15:40 -06:00
Jon Trulson 2f4072ee69 linux.cf: turn off writable strings warnings (write-strings)
There are about 1900 of them, if someone wants to go fix them, please
be my guest. :)
2014-03-24 16:34:58 -06:00
Jon Trulson b2db23c0af cleanup: eliminate "implicit declaration" warnings.
Also fixed a potential core/memory corruption in dticon.
2014-03-24 15:58:11 -06:00
alx f6adc98dd7 DtWidget: Don't free random pointer on Control widget destruction 2014-03-23 23:07:52 -06:00
Eugene Doudine 3ed9f06cce Fixed bug #32 dtfile table formatting bug with non-latin filenames 2014-03-23 13:53:44 -06:00
Eugene Doudine 5e9185dda5 Fixed bug #27 dtfile space handling bug 2014-03-23 13:53:44 -06:00
Eugene Doudine cd82567977 Fixes the bug #17 dtsession can't validate passwords longer than 8 characters when the session is locked 2014-03-23 13:53:44 -06:00
Jon Trulson 23e62e5782 dtcm/server/: just return NULL, not the address of a dummy local variable. Geez. 2014-03-22 19:23:46 -06:00
Jon Trulson 9ed39fd5f2 MotifUI.C: NULL is not 0 2014-03-22 19:14:38 -06:00
Jon Trulson 78fec87fa6 Threads.C: NULL is not 0 2014-03-22 19:09:46 -06:00
Jon Trulson 23d2ba3445 localized/util/merge.h: include string.h and fix up some warnings 2014-03-22 19:06:54 -06:00
Jon Trulson 4568a22f99 Icon.c: include stdlib.h 2014-03-22 19:01:49 -06:00
Jon Trulson daffaf7045 getdate.y: include string.h 2014-03-22 18:59:26 -06:00
Jon Trulson b9d1a4114e pax.h: include stdio.h 2014-03-22 18:56:21 -06:00
Jon Trulson 57ac9e33f9 PrintTopics.c: fix up some warnings 2014-03-22 18:50:15 -06:00
alx 2c162726c7 dtstyle: enable palette editor on true/direct color screens 2014-03-22 18:00:56 -06:00
Jon Trulson 6b0d0cd71e Updated Greek (el_GR.UTF-8) translations from Antonis Tsolomitis. 2014-03-22 17:37:50 -06:00
Jon Trulson ddb4933039 tt_xdr_utils.h: fix build error on linux/bsd introduced with illumos initial patch.
The linux's and BSD's need the 'struct XDR::xdr_ops ops' declaration,
whereas I guess sun does not.
2014-03-22 16:54:24 -06:00
Peter Tribble 468d576030 initial illumos port 2014-03-22 16:33:11 -06:00
Jon Trulson 3c14b8b5ce libcsa: fix up some stupidness. 2014-03-12 17:00:07 -06:00
Ulrich Wilkens a9bf30d12b Fix cpp output on Ubuntu 13 2014-03-12 13:47:28 -06:00
Ulrich Wilkens d24fd29b52 Fix dtfile and dtterm on NetBSD 2014-03-11 13:06:55 -06:00
Jon Trulson 550a805be2 linux: libDtSearch requires linking with -lm 2014-03-10 21:32:10 -06:00
Jon Trulson 1e0eb4e522 dtinfo: stub out XmPrint stuff if there is no XmPrint support. 2014-03-10 20:58:17 -06:00
Jon Trulson 7cbb2fa2a7 dtcm: stub out XmPrint stuff if there is no XmPrint support. 2014-03-10 20:43:32 -06:00
Jon Trulson b282d3fa87 dtmail: stub out XmPrint stuff if there is no XmPrint support. 2014-03-10 20:30:24 -06:00
Jon Trulson c39212f684 dtpad: stub out XmPrint stuff if there is no XmPrint support. 2014-03-10 20:07:16 -06:00
Jon Trulson 362a921245 dtdocbook/instant: *always* link with local libtcl.a
On some systems with libtcl installed, it might be linked into instant
rather than the locally provided version.  This can result in random
coredumps.

Seen on Ubuntu 12.04, x86_64.

Now, we force linking with ../tcl/libtcl.a.
2014-03-10 17:06:24 -06:00
Jon Trulson 9f0fbc3015 mp_rpc_server.C: limit iteration of svc_fdset to FD_SETSIZE, as per spec.
In init() there was code iterating over all of the possible file
descriptors in a svc_fdset.  fdsets are limited to FD_SETSIZE.  This
caused coredumps on FreeBSD 10, and possibly other hidden issues.

Moving to poll(), rather than select() would be better, but is a bigger
job.  For now, just limit to the FD_SETSIZE that select() requires.
2014-03-10 14:49:37 -06:00
Jon Trulson 9b9b3430ec linux: move dependancy handling out of linux.cf and into new lnxDep.rules file.
Include lnxDep.rules in linux.cf.
2014-03-09 17:59:18 -06:00