aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2009-05-29 07:51:19 +0200
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2009-05-29 07:51:19 +0200
commit72c418d40b09451e47c5b6632f3d79e93c65bed2 (patch)
tree8950632e4875955f5392910d82eee80e5eee9798
parentf261111beac6ada3c8973fb91d683db8f9944525 (diff)
style
-rw-r--r--src/plain.cc21
-rw-r--r--src/xembed.cc14
-rw-r--r--src/xembed.hh5
3 files changed, 29 insertions, 11 deletions
diff --git a/src/plain.cc b/src/plain.cc
index 1ba0b0e3..870cc5a9 100644
--- a/src/plain.cc
+++ b/src/plain.cc
@@ -135,6 +135,7 @@ bool DilloPlain::PlainEventReceiver::buttonPress (Widget *widget,
return false;
}
+#define MAXWORD 500
/*
* Here we parse plain text and put it into the page structure.
* (This function is called by Plain_callback whenever there's new data)
@@ -161,7 +162,15 @@ void DilloPlain::write(void *Buf, uint_t BufSize, int Eof)
break;
case ST_Eol:
data = a_Misc_expand_tabs(Start + i - len, len);
- DW2TB(dw)->addText(data, widgetStyle);
+ char *dp = data;
+ while (strlen (dp) > MAXWORD) {
+ char save = data[MAXWORD];
+ dp[MAXWORD] = '\0';
+ DW2TB(dw)->addText(dp, widgetStyle);
+ dp[MAXWORD] = save;
+ dp += MAXWORD;
+ }
+ DW2TB(dw)->addText(dp, widgetStyle);
DW2TB(dw)->addParbreak(0, widgetStyle);
dFree(data);
if (Start[i] == '\r' && Start[i + 1] == '\n') ++i;
@@ -174,7 +183,15 @@ void DilloPlain::write(void *Buf, uint_t BufSize, int Eof)
Start_Ofs += i - len;
if (Eof && len) {
data = a_Misc_expand_tabs(Start + i - len, len);
- DW2TB(dw)->addText(data, widgetStyle);
+ char *dp = data;
+ while (strlen (dp) > MAXWORD) {
+ char save = data[MAXWORD];
+ dp[MAXWORD] = '\0';
+ DW2TB(dw)->addText(dp, widgetStyle);
+ dp[MAXWORD] = save;
+ dp += MAXWORD;
+ }
+ DW2TB(dw)->addText(dp, widgetStyle);
DW2TB(dw)->addParbreak(0, widgetStyle);
dFree(data);
Start_Ofs += len;
diff --git a/src/xembed.cc b/src/xembed.cc
index 55427185..7dd9c7e2 100644
--- a/src/xembed.cc
+++ b/src/xembed.cc
@@ -37,16 +37,16 @@ Xembed::setXembedInfo(unsigned long flags)
buffer[1] = flags;
XChangeProperty (fltk::xdisplay,
- xid,
- xembed_info_atom, xembed_info_atom, 32,
- PropModeReplace,
- (unsigned char *)buffer, 2);
+ xid,
+ xembed_info_atom, xembed_info_atom, 32,
+ PropModeReplace,
+ (unsigned char *)buffer, 2);
}
void
Xembed::sendXembedEvent(uint32_t message) {
XClientMessageEvent xclient;
-
+
memset (&xclient, 0, sizeof (xclient));
xclient.window = xid;
xclient.type = ClientMessage;
@@ -94,12 +94,12 @@ static int event_handler(int e, fltk::Window *w) {
// TODO; Implement more XEMBED support;
void Xembed::create() {
- create_internal(xid);
+ createInternal(xid);
setXembedInfo(1);
fltk::add_event_handler(event_handler);
}
-void Xembed::create_internal(uint32_t parent) {
+void Xembed::createInternal(uint32_t parent) {
fltk::Window *window = this;
Colormap colormap = fltk::xcolormap;
diff --git a/src/xembed.hh b/src/xembed.hh
index 0bb5e790..70d79c5f 100644
--- a/src/xembed.hh
+++ b/src/xembed.hh
@@ -6,14 +6,15 @@
#include "d_size.h"
class Xembed : public fltk::Window {
+ private:
uint32_t xid;
- void create_internal(uint32_t parent);
+ void createInternal(uint32_t parent);
void setXembedInfo(unsigned long flags);
void sendXembedEvent(uint32_t message);
public:
Xembed(uint32_t xid, int _w, int _h) : fltk::Window(_w, _h) {
- this->xid = xid;
+ this->xid = xid;
};
void create();
int handle(int event);