+presencevnc (0.3) unstable; urgency=low
+
+ * Compatibility fix for RealVNC Personal/Enterprise
+
+ -- Christian Pulvermacher <pulvermacher@gmx.de> Tue, 03 Aug 2010 18:35:57 +0200
+
presencevnc (0.2) unstable; urgency=low
* Add dependency on libjpeg
Copyright (c) 2010 Christian Pulvermacher
+Based on
+KRDC, Copyright (c) 2007-2008 Urs Wolfer
+LibVNCServer, Copyright (c) 2001-2003 Johannes E. Schindelin
+
Icon derived from Crystal Project Icons, Copyright (c) 2006-2007 Everaldo Coelho, LGPL
#currently builds a maemo-only package
#comment this line for quick builds
-buildlibs=foo
+#buildlibs=foo
SOURCEDIR=./
BUILDDIR=debian/build/
dh_testroot
dh_installdocs
dh_installchangelogs
- dh_strip
+ #dh_strip
dh_compress
dh_fixperms
dh_installdeb
configure:26995: result: yes
configure:27002: checking for _doprnt
configure:27059: gcc -o conftest -g -O2 conftest.c -lpthread -lz -ljpeg >&5
-/tmp/ccYsUjHg.o: In function `main':
+/tmp/cc6wOTSk.o: In function `main':
/home/christian/presencevnc/libvnc/conftest.c:91: undefined reference to `_doprnt'
-/tmp/ccYsUjHg.o:(.data+0x0): undefined reference to `_doprnt'
+/tmp/cc6wOTSk.o:(.data+0x0): undefined reference to `_doprnt'
collect2: ld returned 1 exit status
configure:27065: $? = 1
configure: failed program was:
[Desktop Entry]
Name=Presence VNC
-Comment=A touch-screen friendly VNC client
+Comment=A touchscreen friendly VNC client
Exec=presencevnc
Icon=presencevnc
Type=Application
-/****************************************************************************
-**
-** Copyright (C) 2008 Urs Wolfer <uwolfer @ kde.org>
-**
-** This file is part of KDE.
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program; see the file COPYING. If not, write to
-** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-** Boston, MA 02110-1301, USA.
-**
-****************************************************************************/
+/*
+ Presence VNC
+ Copyright (C) 2010 Christian Pulvermacher
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
#include <QApplication>
#include <QInputDialog>
#include <QString>
QCoreApplication::setApplicationName("Presence VNC");
QApplication app(argc, argv);
- app.setAutoSipEnabled(true);
+ //app.setAutoSipEnabled(true);
QString url;
int quality = 2;
+/*
+ Presence VNC
+ Copyright (C) 2010 Christian Pulvermacher
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
#include "mainwindow.h"
#include "preferences.h"
#include "vncview.h"
QMessageBox::about(this, tr("About Presence VNC"),
tr("<center><h1>Presence VNC 0.3</h1>\
A touchscreen friendly VNC client\
-<small><p>©2010 Christian Pulvermacher <pulvermacher@gmx.de></p>\
-<p>Based on KRDC, © 2007-2008 Urs Wolfer</small></center>\
+<small><p>©2010 Christian Pulvermacher <pulvermacher@gmx.de></p>\
+<p>Based on KRDC, © 2007-2008 Urs Wolfer</p>\
+<p>and LibVNCServer, © 2001-2003 Johannes E. Schindelin</p></small></center>\
<p>This program is free software; License: <a href=\"http://www.gnu.org/licenses/gpl-2.0.html\">GNU GPL 2</a> or later.</p>"));
}
if(!vnc_view)
return;
-//TODO: crashes when deleting vnc_view - no idea why
- vnc_view->startQuitting();
+// vnc_view->startQuitting();
scroll_area->setWidget(0);
- vnc_view->disconnect(); //remove all connections
- //delete vnc_view;
- //vnc_view = 0;
+ vnc_view->disconnect(); //remove all signal-slot connections
+ delete vnc_view;
+ vnc_view = 0;
disconnect_action->setEnabled(false);
toolbar->setEnabled(false);
}
+/*
+ Presence VNC
+ Copyright (C) 2010 Christian Pulvermacher
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
layout2->addWidget(rightzoom);
QPushButton *ok = new QPushButton("OK");
+ ok->setMaximumWidth(100);
layout1->addLayout(layout2);
layout1->addWidget(ok);
this, SLOT(save()));
}
-Preferences::~Preferences()
-{
-
-}
-
+Preferences::~Preferences() { }
void Preferences::save()
{
const bool quitSuccess = wait(500);
- kDebug(5011) << "Quit VNC thread success:" << quitSuccess;
+ kDebug(5011) << "~VncClientThread(): Quit VNC thread success:" << quitSuccess;
delete [] frameBuffer;
- delete cl;
+ //cl is free()d when event loop exits.
}
void VncClientThread::checkOutputErrorMessage()
void VncClientThread::stop()
{
- QMutexLocker locker(&mutex);
+//TODO: not locking the mutex leads to a crash, but at least it stops.
m_stopped = true;
}
QMutexLocker locker(&mutex);
while (!m_stopped) { // try to connect as long as the server allows
+ kDebug(5011) << "enter loop";
m_passwordError = false;
rfbClientLog = outputHandler;
// Main VNC event loop
while (!m_stopped) {
+ kDebug(5011) << "entering main event loop";
const int i = WaitForMessage(cl, 500);
if (i < 0)
break;
m_repaint(false),
m_quitFlag(false),
m_firstPasswordTry(true),
- m_authenticaionCanceled(false),
m_dontSendClipboard(false),
m_horizontalFactor(1.0),
m_verticalFactor(1.0),
unpressModifiers();
// Disconnect all signals so that we don't get any more callbacks from the client thread
+ vncThread.disconnect();
+ /*
disconnect(&vncThread, SIGNAL(imageUpdated(int, int, int, int)), this, SLOT(updateImage(int, int, int, int)));
disconnect(&vncThread, SIGNAL(gotCut(const QString&)), this, SLOT(setCut(const QString&)));
disconnect(&vncThread, SIGNAL(passwordRequest()), this, SLOT(requestPassword()));
disconnect(&vncThread, SIGNAL(outputErrorMessage(QString)), this, SLOT(outputErrorMessage(QString)));
+ */
startQuitting();
}
const bool quitSuccess = vncThread.wait(500);
- kDebug(5011) << "Quit VNC thread success:" << quitSuccess;
+ kDebug(5011) << "startQuitting(): Quit VNC thread success:" << quitSuccess;
setStatus(Disconnected);
}
{
kDebug(5011) << "request password";
- if (m_authenticaionCanceled) {
- startQuitting();
- return;
- }
-
setStatus(Authenticating);
if (!m_url.password().isNull()) {
tr("Please enter the password for the remote desktop:"),
QLineEdit::Password, QString(), &ok);
m_firstPasswordTry = false;
- if (ok)
+ if (ok) {
vncThread.setPassword(password);
- else
- m_authenticaionCanceled = true;
+ } else {
+ startQuitting();
+ }
}
void VncView::outputErrorMessage(const QString &message)
bool m_repaint;
bool m_quitFlag;
bool m_firstPasswordTry;
- bool m_authenticaionCanceled;
bool m_dontSendClipboard;
qreal m_horizontalFactor;
qreal m_verticalFactor;
LIBS += -Llibvnc/libvncclient/.libs -lvncclient
DEFINES += QTONLY
QT += maemo5
-CONFIG += silent release
+CONFIG += silent debug
OBJECTS_DIR = $${PWD}/tmp
MOC_DIR = $${PWD}/tmp